home *** CD-ROM | disk | FTP | other *** search
/ Creative Computers / Creative Computers CD-ROM, Volume 1 (Legendary Design Technologies, Inc.)(1994).iso / shareware / fractals / ifslab / src / ifslab.h < prev    next >
C/C++ Source or Header  |  1994-11-17  |  73KB  |  2,062 lines

  1. /* IFSLab.h - Copyright (C) 1992 by N. Zeldes. All rights reserved */
  2. /* Version 1.0, 29 Feb 1992 */
  3.  
  4. struct TextAttr TOPAZ80 = {
  5.   (STRPTR)"topaz.font",
  6.   TOPAZ_EIGHTY,0,0
  7. };
  8.  
  9. struct NewScreen NewScreenStructure = {
  10.   0,0,  /* screen XY origin relative to View */
  11.   320,200,  /* screen width and height */
  12.   4,  /* screen depth (number of bitplanes) */
  13.   3,1,  /* detail and block pens */
  14.   NULL,  /* display modes for this screen */
  15.   CUSTOMSCREEN,  /* screen type */
  16.   &TOPAZ80,  /* pointer to default screen font */
  17.   (UBYTE *)"           Outline Editor",  /* screen title */
  18.   NULL,  /* first in list of custom screen gadgets */
  19.   NULL  /* pointer to custom BitMap structure */
  20. };
  21.  
  22. #define NEWSCREENSTRUCTURE NewScreenStructure
  23.  
  24. USHORT Palette[] = {
  25.   0x0000,  /* color #0 */
  26.   0x0080,  /* color #1 */
  27.   0x0ECA,  /* color #2 */
  28.   0x08F0,  /* color #3 */
  29.   0x0F00,  /* color #4 */
  30.   0x0F00,  /* color #5 */
  31.   0x0F00,  /* color #6 */
  32.   0x0F00,  /* color #7 */
  33.   0x0990,  /* color #8 */
  34.   0x07D0,  /* color #9 */
  35.   0x0080,  /* color #10 */
  36.   0x0444,  /* color #11 */
  37.   0x0FFF,  /* color #12 */
  38.   0x0080,  /* color #13 */
  39.   0x0444,  /* color #14 */
  40.   0x0990  /* color #15 */
  41. #define PaletteColorCount 16
  42. };
  43.  
  44. #define PALETTE Palette
  45.  
  46. SHORT LogoBorderVectors[] = {
  47.   0,0,
  48.   36,0,
  49.   36,77,
  50.   0,77,
  51.   0,1,
  52.   35,1,
  53.   35,76,
  54.   1,76,
  55.   1,1
  56. };
  57. struct Border LogoBorder = {
  58.   280,120,  /* XY origin relative to container TopLeft */
  59.   1,0,JAM1,  /* front pen, back pen and drawmode */
  60.   9,  /* number of XY vectors */
  61.   LogoBorderVectors,  /* pointer to XY vectors */
  62.   NULL  /* next border in list */
  63. };
  64.  
  65. struct Gadget LogoBorderGadg = {  /* Dummy Gadget for drawing IFS Logo Border */
  66.   NULL,  /* next gadget */
  67.   0,0,  /* origin XY of hit box relative to window TopLeft */
  68.   1,1,  /* hit box width and height */
  69.   GADGHNONE+GADGDISABLED,  /* gadget flags */
  70.   NULL,  /* activation flags */
  71.   BOOLGADGET+GZZGADGET,  /* gadget type flags */
  72.   (APTR)&LogoBorder,  /* gadget border or image to be rendered */
  73.   NULL,  /* alternate imagery for selection */
  74.   NULL,  /* first IntuiText structure */
  75.   NULL,  /* gadget mutual-exclude long word */
  76.   NULL,  /* SpecialInfo structure */
  77.   997,  /* user-definable data */
  78.   NULL  /* pointer to user-definable data */
  79. };
  80.  
  81. USHORT LogoImageData[] =
  82. {
  83.  
  84. 0xFFFF,0xFFFF,0x8000,0xFFFF,0xFFFF,0x8000,
  85. 0xFFFF,0xFFFF,0x8000,0xF818,0x0E1F,0x8000,
  86. 0xFE7C,0xCCCF,0x8000,0xFE7C,0xFC7F,0x8000,
  87. 0xFE7C,0x3E3F,0x8000,0xFE7C,0xFF8F,0x8000,
  88. 0xFE7C,0xFCCF,0x8000,0xF818,0x7E1F,0x8000,
  89. 0xFFFF,0xFFFF,0x8000,0xFFFF,0xFFFF,0x8000,
  90. 0xFFFF,0xFFFF,0x8000,0xFFFF,0xDFFF,0x8000,
  91. 0xFFFF,0xDFFF,0x8000,0xFFFF,0x9FFF,0x8000,
  92. 0xFFFF,0x8FFF,0x8000,0xFFFF,0x0FFF,0x8000,
  93. 0xFFFF,0x0FFF,0x8000,0xFFFE,0x0FFF,0x8000,
  94. 0xFFFE,0x07FF,0x8000,0xFFFD,0x07FF,0x8000,
  95. 0xFFFD,0xC7FF,0x8000,0xFFF9,0xF3FF,0x8000,
  96. 0xFFF9,0xFBFF,0x8000,0xFFF1,0xFFFF,0x8000,
  97. 0xFFF0,0xF9FF,0x8000,0xFFE0,0xF1FF,0x8000,
  98. 0xFFE0,0xF1FF,0x8000,0xFFC0,0xE1FF,0x8000,
  99. 0xFFD8,0x40FF,0x8000,0xFF9E,0x40FF,0x8000,
  100. 0xFF9F,0x80FF,0x8000,0xFF1F,0xE0FF,0x8000,
  101. 0xFF1F,0xF87F,0x8000,0xFE0F,0xFE7F,0x8000,
  102. 0xFE0F,0xFF7F,0x8000,0xFC0F,0xFFFF,0x8000,
  103. 0xFC0F,0xFF3F,0x8000,0xFA0F,0xFF3F,0x8000,
  104. 0xFB87,0xFE3F,0x8000,0xF3E7,0xFE3F,0x8000,
  105. 0xF1FF,0xFC1F,0x8000,0xE1FB,0xFC1F,0x8000,
  106. 0xE1F3,0xF81F,0x8000,0xC1F3,0xF81F,0x8000,
  107. 0xC1E3,0xF60F,0x8000,0xE0C3,0xF78F,0x8000,
  108. 0xF8C1,0xE3EF,0x8000,0xFE81,0xE3F7,0x8000,
  109. 0xFF81,0xC3F7,0x8000,0xFFE1,0xC3E7,0x8000,
  110. 0xFFF8,0x81E7,0x8000,0xFFFE,0x01C7,0x8000,
  111. 0xFFFF,0x81C3,0x8000,0xFFFF,0xE083,0x8000,
  112. 0xFFFF,0xF883,0x8000,0xFFFF,0xFF03,0x8000,
  113. 0xFFFF,0xFF81,0x8000,0xFFFF,0xFFE1,0x8000,
  114. 0xFFFF,0xFFF9,0x8000,0xFFFF,0xFFFF,0x8000,
  115. 0xFFFF,0xFFFF,0x8000,0xFFFF,0xFFFF,0x8000,
  116. 0xF87F,0x381F,0x8000,0xFCFE,0x1CCF,0x8000,
  117. 0xFCFE,0x1CCF,0x8000,0xFCFC,0xCC1F,0x8000,
  118. 0xFCEC,0x0CCF,0x8000,0xFCC9,0xE4CF,0x8000,
  119. 0xF809,0xE01F,0x8000,0xFFFF,0xFFFF,0x8000,
  120. 0xFFFF,0xFFFF,0x8000,0xFFFF,0xFFFF,0x8000,
  121. 0x776F,0x726B,0x696E,0x672E,0x2E2E,0x6E6C,
  122. 0x792E,0x0A0A,0x2062,0x6520,0x6672,0x6565,
  123. 0x6C79,0x2064,0x6973,0x7472,0x6962,0x7574,
  124. 0x6564,0x2066,0x6F72,0x206E,0x6F6E,0x2D70,
  125. 0x726F,0x6669,0x740A,0xABAB,0xABAB,0xABAB,
  126. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  127. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  128. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  129. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  130. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  131. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  132. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  133. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  134. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  135. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  136. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  137. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  138. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  139. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  140. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  141. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  142. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  143. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  144. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  145. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  146. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  147. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  148. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  149. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  150. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  151. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  152. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  153. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  154. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  155. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  156. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  157. 0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,0xABAB,
  158. };
  159.  
  160. struct Image LogoImage =
  161. {
  162. 0,0,          /* LeftEdge, TopEdge */
  163. 33,74,1,      /* Width, Height, Depth */
  164. &LogoImageData[0],
  165. 8, 3,        /* PlanePick, PlaneOnOff */
  166. NULL,        /* Pointer to next Image */
  167. };
  168.  
  169. struct Gadget LogoGadg = {    /* Dummy Gadget for drawing IFS Logo Image */
  170.   &LogoBorderGadg,  /* next gadget */
  171.   282,122,  /* origin XY of hit box relative to window TopLeft */
  172.   1,1,  /* hit box width and height */
  173.   GADGIMAGE+GADGHNONE+GADGDISABLED,  /* gadget flags */
  174.   NULL,  /* activation flags */
  175.   BOOLGADGET+GZZGADGET,  /* gadget type flags */
  176.   (APTR)&LogoImage,  /* gadget border or image to be rendered */
  177.   NULL,  /* alternate imagery for selection */
  178.   NULL,  /* first IntuiText structure */
  179.   NULL,  /* gadget mutual-exclude long word */
  180.   NULL,  /* SpecialInfo structure */
  181.   998,  /* user-definable data */
  182.   NULL  /* pointer to user-definable data */
  183. };
  184.  
  185. SHORT BorderVectors1[] = {
  186.   0,0,
  187.   36,0,
  188.   36,15,
  189.   0,15,
  190.   0,1
  191. };
  192. struct Border Border1 = {
  193.   0,0,  /* XY origin relative to container TopLeft */
  194.   3,0,JAM1,  /* front pen, back pen and drawmode */
  195.   5,  /* number of XY vectors */
  196.   BorderVectors1,  /* pointer to XY vectors */
  197.   NULL  /* next border in list */
  198. };
  199.  
  200. struct IntuiText IText1 = {
  201.   3,0,JAM1,  /* front and back text pens, drawmode and fill byte */
  202.   3,4,  /* XY origin relative to container TopLeft */
  203.   &TOPAZ80,  /* font pointer or NULL for default */
  204.   (UBYTE *)"Done",  /* pointer to text */
  205.   NULL  /* next IntuiText structure */
  206. };
  207.  
  208. struct Gadget DoneGadg = {
  209.   &LogoGadg,  /* next gadget */
  210.   280,102,  /* origin XY of hit box relative to window TopLeft */
  211.   37,16,  /* hit box width and height */
  212.   NULL,  /* gadget flags */
  213.   RELVERIFY+RIGHTBORDER,  /* activation flags */
  214.   BOOLGADGET+GZZGADGET,  /* gadget type flags */
  215.   (APTR)&Border1,  /* gadget border or image to be rendered */
  216.   NULL,  /* alternate imagery for selection */
  217.   &IText1,  /* first IntuiText structure */
  218.   NULL,  /* gadget mutual-exclude long word */
  219.   NULL,  /* SpecialInfo structure */
  220.   5,  /* user-definable data */
  221.   NULL  /* pointer to user-definable data */
  222. };
  223.  
  224. SHORT BorderVectors2[] = {
  225.   0,0,
  226.   36,0,
  227.   36,15,
  228.   0,15,
  229.   0,1
  230. };
  231. struct Border Border2 = {
  232.   0,0,  /* XY origin relative to container TopLeft */
  233.   3,0,JAM1,  /* front pen, back pen and drawmode */
  234.   5,  /* number of XY vectors */
  235.   BorderVectors2,  /* pointer to XY vectors */
  236.   NULL  /* next border in list */
  237. };
  238.  
  239. struct IntuiText IText2 = {
  240.   3,0,JAM1,  /* front and back text pens, drawmode and fill byte */
  241.   6,4,  /* XY origin relative to container TopLeft */
  242.   &TOPAZ80,  /* font pointer or NULL for default */
  243.   (UBYTE *)"Clr",  /* pointer to text */
  244.   NULL  /* next IntuiText structure */
  245. };
  246.  
  247. struct Gadget ClrOutGadg = {
  248.   &DoneGadg,  /* next gadget */
  249.   280,84,  /* origin XY of hit box relative to window TopLeft */
  250.   37,16,  /* hit box width and height */
  251.   NULL,  /* gadget flags */
  252.   RELVERIFY+RIGHTBORDER,  /* activation flags */
  253.   BOOLGADGET+GZZGADGET,  /* gadget type flags */
  254.   (APTR)&Border2,  /* gadget border or image to be rendered */
  255.   NULL,  /* alternate imagery for selection */
  256.   &IText2,  /* first IntuiText structure */
  257.   NULL,  /* gadget mutual-exclude long word */
  258.   NULL,  /* SpecialInfo structure */
  259.   4,  /* user-definable data */
  260.   NULL  /* pointer to user-definable data */
  261. };
  262.  
  263. SHORT BorderVectors3[] = {
  264.   0,0,
  265.   36,0,
  266.   36,15,
  267.   0,15,
  268.   0,1
  269. };
  270. struct Border Border3 = {
  271.   0,0,  /* XY origin relative to container TopLeft */
  272.   3,0,JAM1,  /* front pen, back pen and drawmode */
  273.   5,  /* number of XY vectors */
  274.   BorderVectors3,  /* pointer to XY vectors */
  275.   NULL  /* next border in list */
  276. };
  277.  
  278. struct IntuiText IText3 = {
  279.   3,0,JAM1,  /* front and back text pens, drawmode and fill byte */
  280.   3,4,  /* XY origin relative to container TopLeft */
  281.   &TOPAZ80,  /* font pointer or NULL for default */
  282.   (UBYTE *)"Fill",  /* pointer to text */
  283.   NULL  /* next IntuiText structure */
  284. };
  285.  
  286. struct Gadget FillGadg = {
  287.   &ClrOutGadg,  /* next gadget */
  288.   280,66,  /* origin XY of hit box relative to window TopLeft */
  289.   37,16,  /* hit box width and height */
  290.   NULL,  /* gadget flags */
  291.   RELVERIFY+RIGHTBORDER,  /* activation flags */
  292.   BOOLGADGET+GZZGADGET,  /* gadget type flags */
  293.   (APTR)&Border3,  /* gadget border or image to be rendered */
  294.   NULL,  /* alternate imagery for selection */
  295.   &IText3,  /* first IntuiText structure */
  296.   NULL,  /* gadget mutual-exclude long word */
  297.   NULL,  /* SpecialInfo structure */
  298.   3,  /* user-definable data */
  299.   NULL  /* pointer to user-definable data */
  300. };
  301.  
  302. SHORT BorderVectors4[] = {
  303.   0,0,
  304.   36,0,
  305.   36,15,
  306.   0,15,
  307.   0,1
  308. };
  309. struct Border Border4 = {
  310.   0,0,  /* XY origin relative to container TopLeft */
  311.   3,0,JAM1,  /* front pen, back pen and drawmode */
  312.   5,  /* number of XY vectors */
  313.   BorderVectors4,  /* pointer to XY vectors */
  314.   NULL  /* next border in list */
  315. };
  316.  
  317. struct IntuiText IText4 = {
  318.   3,0,JAM1,  /* front and back text pens, drawmode and fill byte */
  319.   6,4,  /* XY origin relative to container TopLeft */
  320.   &TOPAZ80,  /* font pointer or NULL for default */
  321.   (UBYTE *)"xxx",  /* pointer to text */
  322.   NULL  /* next IntuiText structure */
  323. };
  324.  
  325. struct Gadget EraseGadg = {
  326.   &FillGadg,  /* next gadget */
  327.   280,48,  /* origin XY of hit box relative to window TopLeft */
  328.   37,16,  /* hit box width and height */
  329.   NULL,  /* gadget flags */
  330.   RELVERIFY+RIGHTBORDER,  /* activation flags */
  331.   BOOLGADGET+GZZGADGET,  /* gadget type flags */
  332.   (APTR)&Border4,  /* gadget border or image to be rendered */
  333.   NULL,  /* alternate imagery for selection */
  334.   &IText4,  /* first IntuiText structure */
  335.   NULL,  /* gadget mutual-exclude long word */
  336.   NULL,  /* SpecialInfo structure */
  337.   2,  /* user-definable data */
  338.   NULL  /* pointer to user-definable data */
  339. };
  340.  
  341. SHORT BorderVectors5[] = {
  342.   0,0,
  343.   36,0,
  344.   36,15,
  345.   0,15,
  346.   0,1
  347. };
  348. struct Border Border5 = {
  349.   0,0,  /* XY origin relative to container TopLeft */
  350.   3,0,JAM1,  /* front pen, back pen and drawmode */
  351.   5,  /* number of XY vectors */
  352.   BorderVectors5,  /* pointer to XY vectors */
  353.   NULL  /* next border in list */
  354. };
  355.  
  356. struct IntuiText IText5 = {
  357.   3,0,JAM1,  /* front and back text pens, drawmode and fill byte */
  358.   3,4,  /* XY origin relative to container TopLeft */
  359.   &TOPAZ80,  /* font pointer or NULL for default */
  360.   (UBYTE *)"Line",  /* pointer to text */
  361.   NULL  /* next IntuiText structure */
  362. };
  363.  
  364. struct Gadget LineGadg = {
  365.   &EraseGadg,  /* next gadget */
  366.   280,30,  /* origin XY of hit box relative to window TopLeft */
  367.   37,16,  /* hit box width and height */
  368.   NULL,  /* gadget flags */
  369.   RELVERIFY+RIGHTBORDER,  /* activation flags */
  370.   BOOLGADGET+GZZGADGET,  /* gadget type flags */
  371.   (APTR)&Border5,  /* gadget border or image to be rendered */
  372.   NULL,  /* alternate imagery for selection */
  373.   &IText5,  /* first IntuiText structure */
  374.   NULL,  /* gadget mutual-exclude long word */
  375.   NULL,  /* SpecialInfo structure */
  376.   1,  /* user-definable data */
  377.   NULL  /* pointer to user-definable data */
  378. };
  379.  
  380. SHORT BorderVectors6[] = {
  381.   0,0,
  382.   36,0,
  383.   36,15,
  384.   0,15,
  385.   0,1
  386. };
  387. struct Border Border6 = {
  388.   0,0,  /* XY origin relative to container TopLeft */
  389.   3,0,JAM1,  /* front pen, back pen and drawmode */
  390.   5,  /* number of XY vectors */
  391.   BorderVectors6,  /* pointer to XY vectors */
  392.   NULL  /* next border in list */
  393. };
  394.  
  395. struct IntuiText IText6 = {
  396.   3,0,JAM1,  /* front and back text pens, drawmode and fill byte */
  397.   3,4,  /* XY origin relative to container TopLeft */
  398.   &TOPAZ80,  /* font pointer or NULL for default */
  399.   (UBYTE *)"Free",  /* pointer to text */
  400.   NULL  /* next IntuiText structure */
  401. };
  402.  
  403. struct Gadget FreeGadg = {
  404.   &LineGadg,  /* next gadget */
  405.   280,12,  /* origin XY of hit box relative to window TopLeft */
  406.   37,16,  /* hit box width and height */
  407.   NULL,  /* gadget flags */
  408.   RELVERIFY+RIGHTBORDER,  /* activation flags */
  409.   BOOLGADGET+GZZGADGET,  /* gadget type flags */
  410.   (APTR)&Border6,  /* gadget border or image to be rendered */
  411.   NULL,  /* alternate imagery for selection */
  412.   &IText6,  /* first IntuiText structure */
  413.   NULL,  /* gadget mutual-exclude long word */
  414.   NULL,  /* SpecialInfo structure */
  415.   0,  /* user-definable data */
  416.   NULL  /* pointer to user-definable data */
  417. };
  418.  
  419. #define GadgetList1 FreeGadg
  420.  
  421. struct IntuiText IText7 = {
  422.   3,1,JAM2,  /* front and back text pens, drawmode and fill byte */
  423.   0,0,  /* XY origin relative to container TopLeft */
  424.   &TOPAZ80,  /* font pointer or NULL for default */
  425.   (UBYTE *)"Demo",  /* pointer to text */
  426.   NULL  /* next IntuiText structure */
  427. };
  428.  
  429. struct MenuItem MenuItem4 = {
  430.   NULL,  /* next MenuItem structure */
  431.   0,30,  /* XY of Item hitbox relative to TopLeft of parent hitbox */
  432.   82,10,  /* hit box width and height */
  433.   ITEMTEXT+ITEMENABLED+HIGHCOMP,  /* Item flags */
  434.   0,  /* each bit mutually-excludes a same-level Item */
  435.   (APTR)&IText7,  /* Item render  (IntuiText or Image or NULL) */
  436.   NULL,  /* Select render */
  437.   NULL,  /* alternate command-key */
  438.   NULL,  /* SubItem list */
  439.   MENUNULL  /* filled in by Intuition for drag selections */
  440. };
  441.  
  442. struct IntuiText IText8 = {
  443.   3,1,JAM2,  /* front and back text pens, drawmode and fill byte */
  444.   0,0,  /* XY origin relative to container TopLeft */
  445.   &TOPAZ80,  /* font pointer or NULL for default */
  446.   (UBYTE *)"Author",  /* pointer to text */
  447.   NULL  /* next IntuiText structure */
  448. };
  449.  
  450. struct MenuItem MenuItem3 = {
  451.   &MenuItem4,  /* next MenuItem structure */
  452.   0,20,  /* XY of Item hitbox relative to TopLeft of parent hitbox */
  453.   82,10,  /* hit box width and height */
  454.   ITEMTEXT+ITEMENABLED+HIGHCOMP,  /* Item flags */
  455.   0,  /* each bit mutually-excludes a same-level Item */
  456.   (APTR)&IText8,  /* Item render  (IntuiText or Image or NULL) */
  457.   NULL,  /* Select render */
  458.   NULL,  /* alternate command-key */
  459.   NULL,  /* SubItem list */
  460.   MENUNULL  /* filled in by Intuition for drag selections */
  461. };
  462.  
  463. struct IntuiText IText9 = {
  464.   3,1,JAM2,  /* front and back text pens, drawmode and fill byte */
  465.   0,0,  /* XY origin relative to container TopLeft */
  466.   &TOPAZ80,  /* font pointer or NULL for default */
  467.   (UBYTE *)"Help",  /* pointer to text */
  468.   NULL  /* next IntuiText structure */
  469. };
  470.  
  471. struct MenuItem MenuItem2 = {
  472.   &MenuItem3,  /* next MenuItem structure */
  473.   0,10,  /* XY of Item hitbox relative to TopLeft of parent hitbox */
  474.   82,10,  /* hit box width and height */
  475.   ITEMTEXT+ITEMENABLED+HIGHCOMP,  /* Item flags */
  476.   0,  /* each bit mutually-excludes a same-level Item */
  477.   (APTR)&IText9,  /* Item render  (IntuiText or Image or NULL) */
  478.   NULL,  /* Select render */
  479.   NULL,  /* alternate command-key */
  480.   NULL,  /* SubItem list */
  481.   MENUNULL  /* filled in by Intuition for drag selections */
  482. };
  483.  
  484. struct IntuiText IText10 = {
  485.   3,1,JAM2,  /* front and back text pens, drawmode and fill byte */
  486.   0,0,  /* XY origin relative to container TopLeft */
  487.   &TOPAZ80,  /* font pointer or NULL for default */
  488.   (UBYTE *)"IFS Theory",  /* pointer to text */
  489.   NULL  /* next IntuiText structure */
  490. };
  491.  
  492. struct MenuItem MenuItem1 = {
  493.   &MenuItem2,  /* next MenuItem structure */
  494.   0,0,  /* XY of Item hitbox relative to TopLeft of parent hitbox */
  495.   82,10,  /* hit box width and height */
  496.   ITEMTEXT+ITEMENABLED+HIGHCOMP,  /* Item flags */
  497.   0,  /* each bit mutually-excludes a same-level Item */
  498.   (APTR)&IText10,  /* Item render  (IntuiText or Image or NULL) */
  499.   NULL,  /* Select render */
  500.   NULL,  /* alternate command-key */
  501.   NULL,  /* SubItem list */
  502.   MENUNULL  /* filled in by Intuition for drag selections */
  503. };
  504.  
  505. struct Menu Menu4 = {
  506.   NULL,  /* next Menu structure */
  507.   218,0,  /* XY origin of Menu hit box relative to screen TopLeft */
  508.   55,0,  /* Menu hit box width and height */
  509.   MENUENABLED,  /* Menu flags */
  510.   " About",  /* text of Menu name */
  511.   &MenuItem1  /* MenuItem linked list pointer */
  512. };
  513.  
  514. struct IntuiText IText11 = {
  515.   3,1,JAM2,  /* front and back text pens, drawmode and fill byte */
  516.   0,0,  /* XY origin relative to container TopLeft */
  517.   &TOPAZ80,  /* font pointer or NULL for default */
  518.   (UBYTE *)"Start",  /* pointer to text */
  519.   NULL  /* next IntuiText structure */
  520. };
  521.  
  522. struct MenuItem MenuItem7 = {
  523.   NULL,  /* next MenuItem structure */
  524.   0,20,  /* XY of Item hitbox relative to TopLeft of parent hitbox */
  525.   90,10,  /* hit box width and height */
  526.   ITEMTEXT+ITEMENABLED+HIGHCOMP,  /* Item flags */
  527.   0,  /* each bit mutually-excludes a same-level Item */
  528.   (APTR)&IText11,  /* Item render  (IntuiText or Image or NULL) */
  529.   NULL,  /* Select render */
  530.   NULL,  /* alternate command-key */
  531.   NULL,  /* SubItem list */
  532.   MENUNULL  /* filled in by Intuition for drag selections */
  533. };
  534.  
  535. struct IntuiText IText12 = {
  536.   3,1,JAM2,  /* front and back text pens, drawmode and fill byte */
  537.   19,0,  /* XY origin relative to container TopLeft */
  538.   &TOPAZ80,  /* font pointer or NULL for default */
  539.   (UBYTE *)"16",  /* pointer to text */
  540.   NULL  /* next IntuiText structure */
  541. };
  542.  
  543. struct MenuItem SubItem4 = {
  544.   NULL,  /* next SubItem structure */
  545.   46,39,  /* XY of Item hitbox relative to TopLeft of parent hitbox */
  546.   38,10,  /* hit box width and height */
  547.   CHECKIT+ITEMTEXT+ITEMENABLED+HIGHCOMP,  /* Item flags */
  548.   7,  /* each bit mutually-excludes a same-level Item */
  549.   (APTR)&IText12,  /* Item render  (IntuiText or Image or NULL) */
  550.   NULL,  /* Select render */
  551.   NULL,  /* alternate command-key */
  552.   NULL,  /* no SubItem list for SubItems */
  553.   MENUNULL  /* filled in by Intuition for drag selections */
  554. };
  555.  
  556. struct IntuiText IText13 = {
  557.   3,1,JAM2,  /* front and back text pens, drawmode and fill byte */
  558.   19,0,  /* XY origin relative to container TopLeft */
  559.   &TOPAZ80,  /* font pointer or NULL for default */
  560.   (UBYTE *)"8",  /* pointer to text */
  561.   NULL  /* next IntuiText structure */
  562. };
  563.  
  564. struct MenuItem SubItem3 = {
  565.   &SubItem4,  /* next SubItem structure */
  566.   46,29,  /* XY of Item hitbox relative to TopLeft of parent hitbox */
  567.   38,10,  /* hit box width and height */
  568.   CHECKIT+ITEMTEXT+ITEMENABLED+HIGHCOMP,  /* Item flags */
  569.   11,  /* each bit mutually-excludes a same-level Item */
  570.   (APTR)&IText13,  /* Item render  (IntuiText or Image or NULL) */
  571.   NULL,  /* Select render */
  572.   NULL,  /* alternate command-key */
  573.   NULL,  /* no SubItem list for SubItems */
  574.   MENUNULL  /* filled in by Intuition for drag selections */
  575. };
  576.  
  577. struct IntuiText IText14 = {
  578.   3,1,JAM2,  /* front and back text pens, drawmode and fill byte */
  579.   19,0,  /* XY origin relative to container TopLeft */
  580.   &TOPAZ80,  /* font pointer or NULL for default */
  581.   (UBYTE *)"4",  /* pointer to text */
  582.   NULL  /* next IntuiText structure */
  583. };
  584.  
  585. struct MenuItem SubItem2 = {
  586.   &SubItem3,  /* next SubItem structure */
  587.   46,19,  /* XY of Item hitbox relative to TopLeft of parent hitbox */
  588.   38,10,  /* hit box width and height */
  589.   CHECKIT+ITEMTEXT+ITEMENABLED+HIGHCOMP,  /* Item flags */
  590.   13,  /* each bit mutually-excludes a same-level Item */
  591.   (APTR)&IText14,  /* Item render  (IntuiText or Image or NULL) */
  592.   NULL,  /* Select render */
  593.   NULL,  /* alternate command-key */
  594.   NULL,  /* no SubItem list for SubItems */
  595.   MENUNULL  /* filled in by Intuition for drag selections */
  596. };
  597.  
  598. struct IntuiText IText15 = {
  599.   3,1,JAM2,  /* front and back text pens, drawmode and fill byte */
  600.   19,0,  /* XY origin relative to container TopLeft */
  601.   &TOPAZ80,  /* font pointer or NULL for default */
  602.   (UBYTE *)"2",  /* pointer to text */
  603.   NULL  /* next IntuiText structure */
  604. };
  605.  
  606. struct MenuItem SubItem1 = {
  607.   &SubItem2,  /* next SubItem structure */
  608.   46,9,  /* XY of Item hitbox relative to TopLeft of parent hitbox */
  609.   38,10,  /* hit box width and height */
  610.   CHECKIT+ITEMTEXT+ITEMENABLED+HIGHCOMP+CHECKED,  /* Item flags */
  611.   14,  /* each bit mutually-excludes a same-level Item */
  612.   (APTR)&IText15,  /* Item render  (IntuiText or Image or NULL) */
  613.   NULL,  /* Select render */
  614.   NULL,  /* alternate command-key */
  615.   NULL,  /* no SubItem list for SubItems */
  616.   MENUNULL  /* filled in by Intuition for drag selections */
  617. };
  618.  
  619. struct IntuiText IText16 = {
  620.   3,1,JAM2,  /* front and back text pens, drawmode and fill byte */
  621.   0,0,  /* XY origin relative to container TopLeft */
  622.   &TOPAZ80,  /* font pointer or NULL for default */
  623.   (UBYTE *)"Gray Levels",  /* pointer to text */
  624.   NULL  /* next IntuiText structure */
  625. };
  626.  
  627. struct MenuItem MenuItem6 = {
  628.   &MenuItem7,  /* next MenuItem structure */
  629.   0,10,  /* XY of Item hitbox relative to TopLeft of parent hitbox */
  630.   90,10,  /* hit box width and height */
  631.   ITEMTEXT+ITEMENABLED+HIGHCOMP,  /* Item flags */
  632.   0,  /* each bit mutually-excludes a same-level Item */
  633.   (APTR)&IText16,  /* Item render  (IntuiText or Image or NULL) */
  634.   NULL,  /* Select render */
  635.   NULL,  /* alternate command-key */
  636.   &SubItem1,  /* SubItem list */
  637.   MENUNULL  /* filled in by Intuition for drag selections */
  638. };
  639.  
  640. struct IntuiText IText17 = {
  641.   3,1,JAM2,  /* front and back text pens, drawmode and fill byte */
  642.   19,0,  /* XY origin relative to container TopLeft */
  643.   &TOPAZ80,  /* font pointer or NULL for default */
  644.   (UBYTE *)"640x400",  /* pointer to text */
  645.   NULL  /* next IntuiText structure */
  646. };
  647.  
  648. struct MenuItem SubItem8 = {
  649.   NULL,  /* next SubItem structure */
  650.   46,29,  /* XY of Item hitbox relative to TopLeft of parent hitbox */
  651.   76,10,  /* hit box width and height */
  652.   CHECKIT+ITEMTEXT+ITEMENABLED+HIGHCOMP+CHECKED,  /* Item flags */
  653.   3,  /* each bit mutually-excludes a same-level Item */
  654.   (APTR)&IText17,  /* Item render  (IntuiText or Image or NULL) */
  655.   NULL,  /* Select render */
  656.   NULL,  /* alternate command-key */
  657.   NULL,  /* no SubItem list for SubItems */
  658.   MENUNULL  /* filled in by Intuition for drag selections */
  659. };
  660.  
  661. struct IntuiText IText18 = {
  662.   3,1,JAM2,  /* front and back text pens, drawmode and fill byte */
  663.   19,0,  /* XY origin relative to container TopLeft */
  664.   &TOPAZ80,  /* font pointer or NULL for default */
  665.   (UBYTE *)"640x200",  /* pointer to text */
  666.   NULL  /* next IntuiText structure */
  667. };
  668.  
  669. struct MenuItem SubItem7 = {
  670.   &SubItem8,  /* next SubItem structure */
  671.   46,19,  /* XY of Item hitbox relative to TopLeft of parent hitbox */
  672.   76,10,  /* hit box width and height */
  673.   CHECKIT+ITEMTEXT+ITEMENABLED+HIGHCOMP,  /* Item flags */
  674.   5,  /* each bit mutually-excludes a same-level Item */
  675.   (APTR)&IText18,  /* Item render  (IntuiText or Image or NULL) */
  676.   NULL,  /* Select render */
  677.   NULL,  /* alternate command-key */
  678.   NULL,  /* no SubItem list for SubItems */
  679.   MENUNULL  /* filled in by Intuition for drag selections */
  680. };
  681.  
  682. struct IntuiText IText20 = {
  683.   3,1,JAM2,  /* front and back text pens, drawmode and fill byte */
  684.   19,0,  /* XY origin relative to container TopLeft */
  685.   &TOPAZ80,  /* font pointer or NULL for default */
  686.   (UBYTE *)"320x200",  /* pointer to text */
  687.   NULL  /* next IntuiText structure */
  688. };
  689.  
  690. struct MenuItem SubItem5 = {
  691.   &SubItem7,  /* next SubItem structure */
  692.   46,9,  /* XY of Item hitbox relative to TopLeft of parent hitbox */
  693.   76,10,  /* hit box width and height */
  694.   CHECKIT+ITEMTEXT+ITEMENABLED+HIGHCOMP,  /* Item flags */
  695.   6,  /* each bit mutually-excludes a same-level Item */
  696.   (APTR)&IText20,  /* Item render  (IntuiText or Image or NULL) */
  697.   NULL,  /* Select render */
  698.   NULL,  /* alternate command-key */
  699.   NULL,  /* no SubItem list for SubItems */
  700.   MENUNULL  /* filled in by Intuition for drag selections */
  701. };
  702.  
  703. struct IntuiText IText21 = {
  704.   3,1,JAM2,  /* front and back text pens, drawmode and fill byte */
  705.   0,0,  /* XY origin relative to container TopLeft */
  706.   &TOPAZ80,  /* font pointer or NULL for default */
  707.   (UBYTE *)"Resolution",  /* pointer to text */
  708.   NULL  /* next IntuiText structure */
  709. };
  710.  
  711. struct MenuItem MenuItem5 = {
  712.   &MenuItem6,  /* next MenuItem structure */
  713.   0,0,  /* XY of Item hitbox relative to TopLeft of parent hitbox */
  714.   90,10,  /* hit box width and height */
  715.   ITEMTEXT+ITEMENABLED+HIGHCOMP,  /* Item flags */
  716.   0,  /* each bit mutually-excludes a same-level Item */
  717.   (APTR)&IText21,  /* Item render  (IntuiText or Image or NULL) */
  718.   NULL,  /* Select render */
  719.   NULL,  /* alternate command-key */
  720.   &SubItem5,  /* SubItem list */
  721.   MENUNULL  /* filled in by Intuition for drag selections */
  722. };
  723.  
  724. struct Menu Menu3 = {
  725.   &Menu4,  /* next Menu structure */
  726.   152,0,  /* XY origin of Menu hit box relative to screen TopLeft */
  727.   63,0,  /* Menu hit box width and height */
  728.   MENUENABLED,  /* Menu flags */
  729.   " Render",  /* text of Menu name */
  730.   &MenuItem5  /* MenuItem linked list pointer */
  731. };
  732.  
  733. struct IntuiText IText22 = {
  734.   3,1,JAM2,  /* front and back text pens, drawmode and fill byte */
  735.   0,0,  /* XY origin relative to container TopLeft */
  736.   &TOPAZ80,  /* font pointer or NULL for default */
  737.   (UBYTE *)"Show Image",  /* pointer to text */
  738.   NULL  /* next IntuiText structure */
  739. };
  740.  
  741. struct MenuItem MenuItem9 = {
  742.   NULL,  /* next MenuItem structure */
  743.   0,10,  /* XY of Item hitbox relative to TopLeft of parent hitbox */
  744.   80,10,  /* hit box width and height */
  745.   ITEMTEXT+ITEMENABLED+HIGHCOMP,  /* Item flags */
  746.   0,  /* each bit mutually-excludes a same-level Item */
  747.   (APTR)&IText22,  /* Item render  (IntuiText or Image or NULL) */
  748.   NULL,  /* Select render */
  749.   NULL,  /* alternate command-key */
  750.   NULL,  /* SubItem list */
  751.   MENUNULL  /* filled in by Intuition for drag selections */
  752. };
  753.  
  754. struct IntuiText IText23 = {
  755.   3,1,JAM2,  /* front and back text pens, drawmode and fill byte */
  756.   0,0,  /* XY origin relative to container TopLeft */
  757.   &TOPAZ80,  /* font pointer or NULL for default */
  758.   (UBYTE *)"Show Codes",  /* pointer to text */
  759.   NULL  /* next IntuiText structure */
  760. };
  761.  
  762. struct MenuItem MenuItem8 = {
  763.   &MenuItem9,  /* next MenuItem structure */
  764.   0,0,  /* XY of Item hitbox relative to TopLeft of parent hitbox */
  765.   80,10,  /* hit box width and height */
  766.   ITEMTEXT+ITEMENABLED+HIGHCOMP,  /* Item flags */
  767.   0,  /* each bit mutually-excludes a same-level Item */
  768.   (APTR)&IText23,  /* Item render  (IntuiText or Image or NULL) */
  769.   NULL,  /* Select render */
  770.   NULL,  /* alternate command-key */
  771.   NULL,  /* SubItem list */
  772.   MENUNULL  /* filled in by Intuition for drag selections */
  773. };
  774.  
  775. struct Menu Menu2 = {
  776.   &Menu3,  /* next Menu structure */
  777.   80,0,  /* XY origin of Menu hit box relative to screen TopLeft */
  778.   70,0,  /* Menu hit box width and height */
  779.   MENUENABLED,  /* Menu flags */
  780.   " Display",  /* text of Menu name */
  781.   &MenuItem8  /* MenuItem linked list pointer */
  782. };
  783.  
  784. struct IntuiText IText24b = {
  785.   3,1,JAM2,  /* front and back text pens, drawmode and fill byte */
  786.   0,0,  /* XY origin relative to container TopLeft */
  787.   &TOPAZ80,  /* font pointer or NULL for default */
  788.   (UBYTE *)"Quit        ",  /* pointer to text */
  789.   NULL  /* next IntuiText structure */
  790. };
  791.  
  792. struct MenuItem MenuItem14b = {
  793.   NULL,  /* next MenuItem structure */
  794.   0,60,  /* XY of Item hitbox relative to TopLeft of parent hitbox */
  795.   100,10,  /* hit box width and height */
  796.   ITEMTEXT+ITEMENABLED+HIGHCOMP,  /* Item flags */
  797.   0,  /* each bit mutually-excludes a same-level Item */
  798.   (APTR)&IText24b,  /* Item render  (IntuiText or Image or NULL) */
  799.   NULL,  /* Select render */
  800.   NULL,  /* alternate command-key */
  801.   NULL,  /* SubItem list */
  802.   MENUNULL  /* filled in by Intuition for drag selections */
  803. };
  804.  
  805. struct IntuiText IText24 = {
  806.   3,1,JAM2,  /* front and back text pens, drawmode and fill byte */
  807.   0,0,  /* XY origin relative to container TopLeft */
  808.   &TOPAZ80,  /* font pointer or NULL for default */
  809.   (UBYTE *)"Optimize    ",  /* pointer to text */
  810.   NULL  /* next IntuiText structure */
  811. };
  812.  
  813. struct MenuItem MenuItem14 = {
  814.   &MenuItem14b, /* next MenuItem structure */
  815.   0,40,  /* XY of Item hitbox relative to TopLeft of parent hitbox */
  816.   100,10,  /* hit box width and height */
  817.   ITEMTEXT+ITEMENABLED+HIGHCOMP,  /* Item flags */
  818.   0,  /* each bit mutually-excludes a same-level Item */
  819.   (APTR)&IText24,  /* Item render  (IntuiText or Image or NULL) */
  820.   NULL,  /* Select render */
  821.   NULL,  /* alternate command-key */
  822.   NULL,  /* SubItem list */
  823.   MENUNULL  /* filled in by Intuition for drag selections */
  824. };
  825.  
  826. struct IntuiText IText26 = {
  827.   3,1,JAM2,  /* front and back text pens, drawmode and fill byte */
  828.   0,0,  /* XY origin relative to container TopLeft */
  829.   &TOPAZ80,  /* font pointer or NULL for default */
  830.   (UBYTE *)"Image",  /* pointer to text */
  831.   NULL  /* next IntuiText structure */
  832. };
  833.  
  834. struct MenuItem SubItem10 = {
  835.   NULL,  /* next SubItem structure */
  836.   50,9,  /* XY of Item hitbox relative to TopLeft of parent hitbox */
  837.   60,10,  /* hit box width and height */
  838.   ITEMTEXT+ITEMENABLED+HIGHCOMP,  /* Item flags */
  839.   0,  /* each bit mutually-excludes a same-level Item */
  840.   (APTR)&IText26,  /* Item render  (IntuiText or Image or NULL) */
  841.   NULL,  /* Select render */
  842.   NULL,  /* alternate command-key */
  843.   NULL,  /* no SubItem list for SubItems */
  844.   MENUNULL  /* filled in by Intuition for drag selections */
  845. };
  846.  
  847. struct IntuiText IText27 = {
  848.   3,1,JAM2,  /* front and back text pens, drawmode and fill byte */
  849.   0,0,  /* XY origin relative to container TopLeft */
  850.   &TOPAZ80,  /* font pointer or NULL for default */
  851.   (UBYTE *)"IFS",  /* pointer to text */
  852.   NULL  /* next IntuiText structure */
  853. };
  854.  
  855. struct MenuItem SubItem9 = {
  856.   &SubItem10,  /* next SubItem structure */
  857.   50,-1,  /* XY of Item hitbox relative to TopLeft of parent hitbox */
  858.   60,10,  /* hit box width and height */
  859.   ITEMTEXT+ITEMENABLED+HIGHCOMP,  /* Item flags */
  860.   0,  /* each bit mutually-excludes a same-level Item */
  861.   (APTR)&IText27,  /* Item render  (IntuiText or Image or NULL) */
  862.   NULL,  /* Select render */
  863.   NULL,  /* alternate command-key */
  864.   NULL,  /* no SubItem list for SubItems */
  865.   MENUNULL  /* filled in by Intuition for drag selections */
  866. };
  867.  
  868. struct IntuiText IText28 = {
  869.   3,1,JAM2,  /* front and back text pens, drawmode and fill byte */
  870.   0,0,  /* XY origin relative to container TopLeft */
  871.   &TOPAZ80,  /* font pointer or NULL for default */
  872.   (UBYTE *)"Save File   ",  /* pointer to text */
  873.   NULL  /* next IntuiText structure */
  874. };
  875.  
  876. struct MenuItem MenuItem13 = {
  877.   &MenuItem14,  /* next MenuItem structure */
  878.   0,30,  /* XY of Item hitbox relative to TopLeft of parent hitbox */
  879.   100,10,  /* hit box width and height */
  880.   ITEMTEXT+ITEMENABLED+HIGHCOMP,  /* Item flags */
  881.   0,  /* each bit mutually-excludes a same-level Item */
  882.   (APTR)&IText28,  /* Item render  (IntuiText or Image or NULL) */
  883.   NULL,  /* Select render */
  884.   NULL,  /* alternate command-key */
  885.   &SubItem9,  /* SubItem list */
  886.   MENUNULL  /* filled in by Intuition for drag selections */
  887. };
  888.  
  889. struct IntuiText IText29 = {
  890.   3,1,JAM2,  /* front and back text pens, drawmode and fill byte */
  891.   0,0,  /* XY origin relative to container TopLeft */
  892.   &TOPAZ80,  /* font pointer or NULL for default */
  893.   (UBYTE *)"Image",  /* pointer to text */
  894.   NULL  /* next IntuiText structure */
  895. };
  896.  
  897. struct MenuItem SubItem14 = {
  898.   NULL,  /* next SubItem structure */
  899.   50,19,  /* XY of Item hitbox relative to TopLeft of parent hitbox */
  900.   60,10,  /* hit box width and height */
  901.   ITEMTEXT+ITEMENABLED+HIGHCOMP,  /* Item flags */
  902.   0,  /* each bit mutually-excludes a same-level Item */
  903.   (APTR)&IText29,  /* Item render  (IntuiText or Image or NULL) */
  904.   NULL,  /* Select render */
  905.   NULL,  /* alternate command-key */
  906.   NULL,  /* no SubItem list for SubItems */
  907.   MENUNULL  /* filled in by Intuition for drag selections */
  908. };
  909.  
  910. struct IntuiText IText30 = {
  911.   3,1,JAM2,  /* front and back text pens, drawmode and fill byte */
  912.   0,0,  /* XY origin relative to container TopLeft */
  913.   &TOPAZ80,  /* font pointer or NULL for default */
  914.   (UBYTE *)"IFS",  /* pointer to text */
  915.   NULL  /* next IntuiText structure */
  916. };
  917.  
  918. struct MenuItem SubItem13 = {
  919.   &SubItem14,  /* next SubItem structure */
  920.   50,9,  /* XY of Item hitbox relative to TopLeft of parent hitbox */
  921.   60,10,  /* hit box width and height */
  922.   ITEMTEXT+ITEMENABLED+HIGHCOMP,  /* Item flags */
  923.   0,  /* each bit mutually-excludes a same-level Item */
  924.   (APTR)&IText30,  /* Item render  (IntuiText or Image or NULL) */
  925.   NULL,  /* Select render */
  926.   NULL,  /* alternate command-key */
  927.   NULL,  /* no SubItem list for SubItems */
  928.   MENUNULL  /* filled in by Intuition for drag selections */
  929. };
  930.  
  931. struct IntuiText IText31 = {
  932.   3,1,JAM2,  /* front and back text pens, drawmode and fill byte */
  933.   0,0,  /* XY origin relative to container TopLeft */
  934.   &TOPAZ80,  /* font pointer or NULL for default */
  935.   (UBYTE *)"Outline",  /* pointer to text */
  936.   NULL  /* next IntuiText structure */
  937. };
  938.  
  939. struct MenuItem SubItem12 = {
  940.   &SubItem13,  /* next SubItem structure */
  941.   50,-1,  /* XY of Item hitbox relative to TopLeft of parent hitbox */
  942.   60,10,  /* hit box width and height */
  943.   ITEMTEXT+ITEMENABLED+HIGHCOMP,  /* Item flags */
  944.   0,  /* each bit mutually-excludes a same-level Item */
  945.   (APTR)&IText31,  /* Item render  (IntuiText or Image or NULL) */
  946.   NULL,  /* Select render */
  947.   NULL,  /* alternate command-key */
  948.   NULL,  /* no SubItem list for SubItems */
  949.   MENUNULL  /* filled in by Intuition for drag selections */
  950. };
  951.  
  952. struct IntuiText IText32 = {
  953.   3,1,JAM2,  /* front and back text pens, drawmode and fill byte */
  954.   0,0,  /* XY origin relative to container TopLeft */
  955.   &TOPAZ80,  /* font pointer or NULL for default */
  956.   (UBYTE *)"Load File   ",  /* pointer to text */
  957.   NULL  /* next IntuiText structure */
  958. };
  959.  
  960. struct MenuItem MenuItem12 = {
  961.   &MenuItem13,  /* next MenuItem structure */
  962.   0,20,  /* XY of Item hitbox relative to TopLeft of parent hitbox */
  963.   100,10,  /* hit box width and height */
  964.   ITEMTEXT+ITEMENABLED+HIGHCOMP,  /* Item flags */
  965.   0,  /* each bit mutually-excludes a same-level Item */
  966.   (APTR)&IText32,  /* Item render  (IntuiText or Image or NULL) */
  967.   NULL,  /* Select render */
  968.   NULL,  /* alternate command-key */
  969.   &SubItem12,  /* SubItem list */
  970.   MENUNULL  /* filled in by Intuition for drag selections */
  971. };
  972.  
  973. struct IntuiText IText33 = {
  974.   3,1,JAM2,  /* front and back text pens, drawmode and fill byte */
  975.   0,0,  /* XY origin relative to container TopLeft */
  976.   &TOPAZ80,  /* font pointer or NULL for default */
  977.   (UBYTE *)"Edit Outline",  /* pointer to text */
  978.   NULL  /* next IntuiText structure */
  979. };
  980.  
  981. struct MenuItem MenuItem11 = {
  982.   &MenuItem12,  /* next MenuItem structure */
  983.   0,10,  /* XY of Item hitbox relative to TopLeft of parent hitbox */
  984.   100,10,  /* hit box width and height */
  985.   ITEMTEXT+ITEMENABLED+HIGHCOMP,  /* Item flags */
  986.   0,  /* each bit mutually-excludes a same-level Item */
  987.   (APTR)&IText33,  /* Item render  (IntuiText or Image or NULL) */
  988.   NULL,  /* Select render */
  989.   NULL,  /* alternate command-key */
  990.   NULL,  /* SubItem list */
  991.   MENUNULL  /* filled in by Intuition for drag selections */
  992. };
  993.  
  994. struct IntuiText IText34 = {
  995.   3,1,JAM2,  /* front and back text pens, drawmode and fill byte */
  996.   0,0,  /* XY origin relative to container TopLeft */
  997.   &TOPAZ80,  /* font pointer or NULL for default */
  998.   (UBYTE *)"New",  /* pointer to text */
  999.   NULL  /* next IntuiText structure */
  1000. };
  1001.  
  1002. struct MenuItem MenuItem10 = {
  1003.   &MenuItem11,  /* next MenuItem structure */
  1004.   0,0,  /* XY of Item hitbox relative to TopLeft of parent hitbox */
  1005.   100,10,  /* hit box width and height */
  1006.   ITEMTEXT+ITEMENABLED+HIGHCOMP,  /* Item flags */
  1007.   0,  /* each bit mutually-excludes a same-level Item */
  1008.   (APTR)&IText34,  /* Item render  (IntuiText or Image or NULL) */
  1009.   NULL,  /* Select render */
  1010.   NULL,  /* alternate command-key */
  1011.   NULL,  /* SubItem list */
  1012.   MENUNULL  /* filled in by Intuition for drag selections */
  1013. };
  1014.  
  1015. struct Menu Menu1 = {
  1016.   &Menu2,  /* next Menu structure */
  1017.   10,0,  /* XY origin of Menu hit box relative to screen TopLeft */
  1018.   70,0,  /* Menu hit box width and height */
  1019.   MENUENABLED,  /* Menu flags */
  1020.   " Project ",  /* text of Menu name */
  1021.   &MenuItem10  /* MenuItem linked list pointer */
  1022. };
  1023.  
  1024. #define MenuList1 Menu1
  1025.  
  1026. struct NewWindow NewWindowStructure1 = {
  1027.   0,0,  /* window XY origin relative to TopLeft of screen */
  1028.   320,200,  /* window width and height */
  1029.   3,1,  /* detail and block pens */
  1030.   MOUSEBUTTONS+GADGETUP+MENUPICK,  /* IDCMP flags */
  1031.   GIMMEZEROZERO+ACTIVATE+BACKDROP,  /* other window flags */
  1032.   &FreeGadg,  /* first gadget in gadget list */
  1033.   NULL,  /* custom CHECKMARK imagery */
  1034.   (UBYTE *)" ",  /* window title */
  1035.   NULL,  /* custom screen pointer */
  1036.   NULL,  /* custom bitmap */
  1037.   5,5,  /* minimum width and height */
  1038.   -1,-1,  /* maximum width and height */
  1039.   CUSTOMSCREEN  /* destination screen type */
  1040. };
  1041.  
  1042. SHORT CollageBorderVectors7[] = {
  1043.   0,0,
  1044.   36,0,
  1045.   36,15,
  1046.   0,15,
  1047.   0,1
  1048. };
  1049. struct Border CollageBorder7 = {
  1050.   0,0,  /* XY origin relative to container TopLeft */
  1051.   3,0,JAM1,  /* front pen, back pen and drawmode */
  1052.   5,  /* number of XY vectors */
  1053.   CollageBorderVectors7,  /* pointer to XY vectors */
  1054.   NULL  /* next border in list */
  1055. };
  1056.  
  1057. struct IntuiText CollageIText35 = {
  1058.   3,0,JAM1,  /* front and back text pens, drawmode and fill byte */
  1059.   6,4,  /* XY origin relative to container TopLeft */
  1060.   &TOPAZ80,  /* font pointer or NULL for default */
  1061.   (UBYTE *)"Num",  /* pointer to text */
  1062.   NULL  /* next IntuiText structure */
  1063. };
  1064.  
  1065. struct Gadget CollageNumGadg = {
  1066.   &LogoGadg,  /* next gadget */
  1067.   280,102,  /* origin XY of hit box relative to window TopLeft */
  1068.   37,16,  /* hit box width and height */
  1069.   NULL,  /* gadget flags */
  1070.   RELVERIFY+RIGHTBORDER,  /* activation flags */
  1071.   BOOLGADGET+GZZGADGET,  /* gadget type flags */
  1072.   (APTR)&CollageBorder7,  /* gadget border or image to be rendered */
  1073.   NULL,  /* alternate imagery for selection */
  1074.   &CollageIText35,  /* first IntuiText structure */
  1075.   NULL,  /* gadget mutual-exclude long word */
  1076.   NULL,  /* SpecialInfo structure */
  1077.   11,  /* user-definable data */
  1078.   NULL  /* pointer to user-definable data */
  1079. };
  1080.  
  1081. SHORT CollageBorderVectors8[] = {
  1082.   0,0,
  1083.   36,0,
  1084.   36,15,
  1085.   0,15,
  1086.   0,1
  1087. };
  1088. struct Border CollageBorder8 = {
  1089.   0,0,  /* XY origin relative to container TopLeft */
  1090.   3,0,JAM1,  /* front pen, back pen and drawmode */
  1091.   5,  /* number of XY vectors */
  1092.   CollageBorderVectors8,  /* pointer to XY vectors */
  1093.   NULL  /* next border in list */
  1094. };
  1095.  
  1096. struct IntuiText CollageIText36 = {
  1097.   3,0,JAM1,  /* front and back text pens, drawmode and fill byte */
  1098.   6,4,  /* XY origin relative to container TopLeft */
  1099.   &TOPAZ80,  /* font pointer or NULL for default */
  1100.   (UBYTE *)"Clr",  /* pointer to text */
  1101.   NULL  /* next IntuiText structure */
  1102. };
  1103.  
  1104. struct Gadget CollageClrIFSGadg = {
  1105.   &CollageNumGadg,  /* next gadget */
  1106.   280,84,  /* origin XY of hit box relative to window TopLeft */
  1107.   37,16,  /* hit box width and height */
  1108.   NULL,  /* gadget flags */
  1109.   RELVERIFY+RIGHTBORDER,  /* activation flags */
  1110.   BOOLGADGET+GZZGADGET,  /* gadget type flags */
  1111.   (APTR)&CollageBorder8,  /* gadget border or image to be rendered */
  1112.   NULL,  /* alternate imagery for selection */
  1113.   &CollageIText36,  /* first IntuiText structure */
  1114.   NULL,  /* gadget mutual-exclude long word */
  1115.   NULL,  /* SpecialInfo structure */
  1116.   10,  /* user-definable data */
  1117.   NULL  /* pointer to user-definable data */
  1118. };
  1119.  
  1120. SHORT CollageBorderVectors9[] = {
  1121.   0,0,
  1122.   36,0,
  1123.   36,15,
  1124.   0,15,
  1125.   0,1
  1126. };
  1127. struct Border CollageBorder9 = {
  1128.   0,0,  /* XY origin relative to container TopLeft */
  1129.   3,0,JAM1,  /* front pen, back pen and drawmode */
  1130.   5,  /* number of XY vectors */
  1131.   CollageBorderVectors9,  /* pointer to XY vectors */
  1132.   NULL  /* next border in list */
  1133. };
  1134.  
  1135. struct IntuiText CollageIText37 = {
  1136.   3,0,JAM1,  /* front and back text pens, drawmode and fill byte */
  1137.   6,4,  /* XY origin relative to container TopLeft */
  1138.   &TOPAZ80,  /* font pointer or NULL for default */
  1139.   (UBYTE *)"Del",  /* pointer to text */
  1140.   NULL  /* next IntuiText structure */
  1141. };
  1142.  
  1143. struct Gadget CollageDelGadg = {
  1144.   &CollageClrIFSGadg,  /* next gadget */
  1145.   280,66,  /* origin XY of hit box relative to window TopLeft */
  1146.   37,16,  /* hit box width and height */
  1147.   NULL,  /* gadget flags */
  1148.   RELVERIFY+RIGHTBORDER,  /* activation flags */
  1149.   BOOLGADGET+GZZGADGET,  /* gadget type flags */
  1150.   (APTR)&CollageBorder9,  /* gadget border or image to be rendered */
  1151.   NULL,  /* alternate imagery for selection */
  1152.   &CollageIText37,  /* first IntuiText structure */
  1153.   NULL,  /* gadget mutual-exclude long word */
  1154.   NULL,  /* SpecialInfo structure */
  1155.   9,  /* user-definable data */
  1156.   NULL  /* pointer to user-definable data */
  1157. };
  1158.  
  1159. SHORT CollageBorderVectors10[] = {
  1160.   0,0,
  1161.   36,0,
  1162.   36,15,
  1163.   0,15,
  1164.   0,1
  1165. };
  1166. struct Border CollageBorder10 = {
  1167.   0,0,  /* XY origin relative to container TopLeft */
  1168.   3,0,JAM1,  /* front pen, back pen and drawmode */
  1169.   5,  /* number of XY vectors */
  1170.   CollageBorderVectors10,  /* pointer to XY vectors */
  1171.   NULL  /* next border in list */
  1172. };
  1173.  
  1174. struct IntuiText CollageIText38 = {
  1175.   3,0,JAM1,  /* front and back text pens, drawmode and fill byte */
  1176.   6,4,  /* XY origin relative to container TopLeft */
  1177.   &TOPAZ80,  /* font pointer or NULL for default */
  1178.   (UBYTE *)"Sel",  /* pointer to text */
  1179.   NULL  /* next IntuiText structure */
  1180. };
  1181.  
  1182. struct Gadget CollageSelGadg = {
  1183.   &CollageDelGadg,  /* next gadget */
  1184.   280,48,  /* origin XY of hit box relative to window TopLeft */
  1185.   37,16,  /* hit box width and height */
  1186.   NULL,  /* gadget flags */
  1187.   RELVERIFY+RIGHTBORDER,  /* activation flags */
  1188.   BOOLGADGET+GZZGADGET,  /* gadget type flags */
  1189.   (APTR)&CollageBorder10,  /* gadget border or image to be rendered */
  1190.   NULL,  /* alternate imagery for selection */
  1191.   &CollageIText38,  /* first IntuiText structure */
  1192.   NULL,  /* gadget mutual-exclude long word */
  1193.   NULL,  /* SpecialInfo structure */
  1194.   8,  /* user-definable data */
  1195.   NULL  /* pointer to user-definable data */
  1196. };
  1197.  
  1198. SHORT CollageBorderVectors11[] = {
  1199.   0,0,
  1200.   36,0,
  1201.   36,15,
  1202.   0,15,
  1203.   0,1
  1204. };
  1205. struct Border CollageBorder11 = {
  1206.   0,0,  /* XY origin relative to container TopLeft */
  1207.   3,0,JAM1,  /* front pen, back pen and drawmode */
  1208.   5,  /* number of XY vectors */
  1209.   CollageBorderVectors11,  /* pointer to XY vectors */
  1210.   NULL  /* next border in list */
  1211. };
  1212.  
  1213. struct IntuiText CollageIText39 = {
  1214.   3,0,JAM1,  /* front and back text pens, drawmode and fill byte */
  1215.   6,4,  /* XY origin relative to container TopLeft */
  1216.   &TOPAZ80,  /* font pointer or NULL for default */
  1217.   (UBYTE *)"Dup",  /* pointer to text */
  1218.   NULL  /* next IntuiText structure */
  1219. };
  1220.  
  1221. struct Gadget CollageDupGadg = {
  1222.   &CollageSelGadg,  /* next gadget */
  1223.   280,30,  /* origin XY of hit box relative to window TopLeft */
  1224.   37,16,  /* hit box width and height */
  1225.   NULL,  /* gadget flags */
  1226.   RELVERIFY+RIGHTBORDER,  /* activation flags */
  1227.   BOOLGADGET+GZZGADGET,  /* gadget type flags */
  1228.   (APTR)&CollageBorder11,  /* gadget border or image to be rendered */
  1229.   NULL,  /* alternate imagery for selection */
  1230.   &CollageIText39,  /* first IntuiText structure */
  1231.   NULL,  /* gadget mutual-exclude long word */
  1232.   NULL,  /* SpecialInfo structure */
  1233.   7,  /* user-definable data */
  1234.   NULL  /* pointer to user-definable data */
  1235. };
  1236.  
  1237. SHORT CollageBorderVectors12[] = {
  1238.   0,0,
  1239.   36,0,
  1240.   36,15,
  1241.   0,15,
  1242.   0,1
  1243. };
  1244. struct Border CollageBorder12 = {
  1245.   0,0,  /* XY origin relative to container TopLeft */
  1246.   3,0,JAM1,  /* front pen, back pen and drawmode */
  1247.   5,  /* number of XY vectors */
  1248.   CollageBorderVectors12,  /* pointer to XY vectors */
  1249.   NULL  /* next border in list */
  1250. };
  1251.  
  1252. struct IntuiText CollageIText40 = {
  1253.   3,0,JAM1,  /* front and back text pens, drawmode and fill byte */
  1254.   6,4,  /* XY origin relative to container TopLeft */
  1255.   &TOPAZ80,  /* font pointer or NULL for default */
  1256.   (UBYTE *)"Add",  /* pointer to text */
  1257.   NULL  /* next IntuiText structure */
  1258. };
  1259.  
  1260. struct Gadget CollageAddGadg = {
  1261.   &CollageDupGadg,  /* next gadget */
  1262.   280,12,  /* origin XY of hit box relative to window TopLeft */
  1263.   37,16,  /* hit box width and height */
  1264.   NULL,  /* gadget flags */
  1265.   RELVERIFY+RIGHTBORDER,  /* activation flags */
  1266.   BOOLGADGET+GZZGADGET,  /* gadget type flags */
  1267.   (APTR)&CollageBorder12,  /* gadget border or image to be rendered */
  1268.   NULL,  /* alternate imagery for selection */
  1269.   &CollageIText40,  /* first IntuiText structure */
  1270.   NULL,  /* gadget mutual-exclude long word */
  1271.   NULL,  /* SpecialInfo structure */
  1272.   6,  /* user-definable data */
  1273.   NULL  /* pointer to user-definable data */
  1274. };
  1275.  
  1276. #define CollageGadgetList2 CollageAddGadg
  1277.  
  1278. SHORT NumBorderVectors13[] = {
  1279.   0,0,
  1280.   49,0,
  1281.   49,12,
  1282.   0,12,
  1283.   0,1
  1284. };
  1285. struct Border NumBorder13 = {
  1286.   0,0,  /* XY origin relative to container TopLeft */
  1287.   9,0,JAM1,  /* front pen, back pen and drawmode */
  1288.   5,  /* number of XY vectors */
  1289.   NumBorderVectors13,  /* pointer to XY vectors */
  1290.   NULL  /* next border in list */
  1291. };
  1292.  
  1293. struct IntuiText NumIText41 = {
  1294.   9,0,JAM2,  /* front and back text pens, drawmode and fill byte */
  1295.   5,3,  /* XY origin relative to container TopLeft */
  1296.   NULL,  /* font pointer or NULL for default */
  1297.   (UBYTE *)"ENTER",  /* pointer to text */
  1298.   NULL  /* next IntuiText structure */
  1299. };
  1300.  
  1301. struct Gadget NumEnterGadg = {
  1302.   NULL,  /* next gadget */
  1303.   15,181,  /* origin XY of hit box relative to window TopLeft */
  1304.   50,13,  /* hit box width and height */
  1305.   NULL,  /* gadget flags */
  1306.   GADGIMMEDIATE+RELVERIFY,  /* activation flags */
  1307.   BOOLGADGET,  /* gadget type flags */
  1308.   (APTR)&NumBorder13,  /* gadget border or image to be rendered */
  1309.   NULL,  /* alternate imagery for selection */
  1310.   &NumIText41,  /* first IntuiText structure */
  1311.   NULL,  /* gadget mutual-exclude long word */
  1312.   NULL,  /* SpecialInfo structure */
  1313.   12,  /* user-definable data */
  1314.   NULL  /* pointer to user-definable data */
  1315. };
  1316.  
  1317. UBYTE NumNumT2coeffGadgSIBuff[12];
  1318. struct StringInfo NumNumT2coeffGadgSInfo = {
  1319.   NumNumT2coeffGadgSIBuff,  /* buffer where text will be edited */
  1320.   NULL,  /* optional undo buffer */
  1321.   0,  /* character position in buffer */
  1322.   12,  /* maximum number of characters to allow */
  1323.   0,  /* first displayed character buffer position */
  1324.   0,0,0,0,0,  /* Intuition initialized and maintained variables */
  1325.   0,  /* Rastport of gadget */
  1326.   0,  /* initial value for integer gadgets */
  1327.   NULL  /* alternate keymap (fill in if you set the flag) */
  1328. };
  1329.  
  1330. SHORT NumBorderVectors14[] = {
  1331.   0,0,
  1332.   49,0,
  1333.   49,9,
  1334.   0,9,
  1335.   0,0
  1336. };
  1337. struct Border NumBorder14 = {
  1338.   -1,-1,  /* XY origin relative to container TopLeft */
  1339.   8,0,JAM1,  /* front pen, back pen and drawmode */
  1340.   5,  /* number of XY vectors */
  1341.   NumBorderVectors14,  /* pointer to XY vectors */
  1342.   NULL  /* next border in list */
  1343. };
  1344.  
  1345. struct IntuiText NumIText42 = {
  1346.   9,0,JAM1,  /* front and back text pens, drawmode and fill byte */
  1347.   -20,0,  /* XY origin relative to container TopLeft */
  1348.   &TOPAZ80,  /* font pointer or NULL for default */
  1349.   (UBYTE *)"t2",  /* pointer to text */
  1350.   NULL  /* next IntuiText structure */
  1351. };
  1352.  
  1353. struct Gadget NumT2coeffGadg = {
  1354.   &NumEnterGadg,  /* next gadget */
  1355.   26,167,  /* origin XY of hit box relative to window TopLeft */
  1356.   48,8,  /* hit box width and height */
  1357.   NULL,  /* gadget flags */
  1358.   GADGIMMEDIATE+RELVERIFY+STRINGRIGHT,  /* activation flags */
  1359.   STRGADGET,  /* gadget type flags */
  1360.   (APTR)&NumBorder14,  /* gadget border or image to be rendered */
  1361.   NULL,  /* alternate imagery for selection */
  1362.   &NumIText42,  /* first IntuiText structure */
  1363.   NULL,  /* gadget mutual-exclude long word */
  1364.   (APTR)&NumNumT2coeffGadgSInfo,  /* SpecialInfo structure */
  1365.   34,  /* user-definable data */
  1366.   NULL  /* pointer to user-definable data */
  1367. };
  1368.  
  1369. UBYTE NumNumT1coeffGadgSIBuff[12];
  1370. struct StringInfo NumNumT1coeffGadgSInfo = {
  1371.   NumNumT1coeffGadgSIBuff,  /* buffer where text will be edited */
  1372.   NULL,  /* optional undo buffer */
  1373.   0,  /* character position in buffer */
  1374.   12,  /* maximum number of characters to allow */
  1375.   0,  /* first displayed character buffer position */
  1376.   0,0,0,0,0,  /* Intuition initialized and maintained variables */
  1377.   0,  /* Rastport of gadget */
  1378.   0,  /* initial value for integer gadgets */
  1379.   NULL  /* alternate keymap (fill in if you set the flag) */
  1380. };
  1381.  
  1382. SHORT NumBorderVectors15[] = {
  1383.   0,0,
  1384.   49,0,
  1385.   49,9,
  1386.   0,9,
  1387.   0,0
  1388. };
  1389. struct Border NumBorder15 = {
  1390.   -1,-1,  /* XY origin relative to container TopLeft */
  1391.   8,0,JAM1,  /* front pen, back pen and drawmode */
  1392.   5,  /* number of XY vectors */
  1393.   NumBorderVectors15,  /* pointer to XY vectors */
  1394.   NULL  /* next border in list */
  1395. };
  1396.  
  1397. struct IntuiText NumIText43 = {
  1398.   9,0,JAM1,  /* front and back text pens, drawmode and fill byte */
  1399.   -20,0,  /* XY origin relative to container TopLeft */
  1400.   &TOPAZ80,  /* font pointer or NULL for default */
  1401.   (UBYTE *)"t1",  /* pointer to text */
  1402.   NULL  /* next IntuiText structure */
  1403. };
  1404.  
  1405. struct Gadget NumT1coeffGadg = {
  1406.   &NumT2coeffGadg,  /* next gadget */
  1407.   26,156,  /* origin XY of hit box relative to window TopLeft */
  1408.   48,8,  /* hit box width and height */
  1409.   NULL,  /* gadget flags */
  1410.   GADGIMMEDIATE+RELVERIFY+STRINGRIGHT,  /* activation flags */
  1411.   STRGADGET,  /* gadget type flags */
  1412.   (APTR)&NumBorder15,  /* gadget border or image to be rendered */
  1413.   NULL,  /* alternate imagery for selection */
  1414.   &NumIText43,  /* first IntuiText structure */
  1415.   NULL,  /* gadget mutual-exclude long word */
  1416.   (APTR)&NumNumT1coeffGadgSInfo,  /* SpecialInfo structure */
  1417.   33,  /* user-definable data */
  1418.   NULL  /* pointer to user-definable data */
  1419. };
  1420.  
  1421. UBYTE NumNumR2coeffGadgSIBuff[12];
  1422. struct StringInfo NumNumR2coeffGadgSInfo = {
  1423.   NumNumR2coeffGadgSIBuff,  /* buffer where text will be edited */
  1424.   NULL,  /* optional undo buffer */
  1425.   0,  /* character position in buffer */
  1426.   12,  /* maximum number of characters to allow */
  1427.   0,  /* first displayed character buffer position */
  1428.   0,0,0,0,0,  /* Intuition initialized and maintained variables */
  1429.   0,  /* Rastport of gadget */
  1430.   0,  /* initial value for integer gadgets */
  1431.   NULL  /* alternate keymap (fill in if you set the flag) */
  1432. };
  1433.  
  1434. SHORT NumBorderVectors16[] = {
  1435.   0,0,
  1436.   49,0,
  1437.   49,9,
  1438.   0,9,
  1439.   0,0
  1440. };
  1441. struct Border NumBorder16 = {
  1442.   -1,-1,  /* XY origin relative to container TopLeft */
  1443.   8,0,JAM1,  /* front pen, back pen and drawmode */
  1444.   5,  /* number of XY vectors */
  1445.   NumBorderVectors16,  /* pointer to XY vectors */
  1446.   NULL  /* next border in list */
  1447. };
  1448.  
  1449. struct IntuiText NumIText44 = {
  1450.   9,0,JAM1,  /* front and back text pens, drawmode and fill byte */
  1451.   -20,0,  /* XY origin relative to container TopLeft */
  1452.   &TOPAZ80,  /* font pointer or NULL for default */
  1453.   (UBYTE *)"r2",  /* pointer to text */
  1454.   NULL  /* next IntuiText structure */
  1455. };
  1456.  
  1457. struct Gadget NumR2coeffGadg = {
  1458.   &NumT1coeffGadg,  /* next gadget */
  1459.   26,145,  /* origin XY of hit box relative to window TopLeft */
  1460.   48,8,  /* hit box width and height */
  1461.   NULL,  /* gadget flags */
  1462.   GADGIMMEDIATE+RELVERIFY+STRINGRIGHT,  /* activation flags */
  1463.   STRGADGET,  /* gadget type flags */
  1464.   (APTR)&NumBorder16,  /* gadget border or image to be rendered */
  1465.   NULL,  /* alternate imagery for selection */
  1466.   &NumIText44,  /* first IntuiText structure */
  1467.   NULL,  /* gadget mutual-exclude long word */
  1468.   (APTR)&NumNumR2coeffGadgSInfo,  /* SpecialInfo structure */
  1469.   32,  /* user-definable data */
  1470.   NULL  /* pointer to user-definable data */
  1471. };
  1472.  
  1473. UBYTE NumNumR1coeffGadgSIBuff[12];
  1474. struct StringInfo NumNumR1coeffGadgSInfo = {
  1475.   NumNumR1coeffGadgSIBuff,  /* buffer where text will be edited */
  1476.   NULL,  /* optional undo buffer */
  1477.   0,  /* character position in buffer */
  1478.   12,  /* maximum number of characters to allow */
  1479.   0,  /* first displayed character buffer position */
  1480.   0,0,0,0,0,  /* Intuition initialized and maintained variables */
  1481.   0,  /* Rastport of gadget */
  1482.   0,  /* initial value for integer gadgets */
  1483.   NULL  /* alternate keymap (fill in if you set the flag) */
  1484. };
  1485.  
  1486. SHORT NumBorderVectors17[] = {
  1487.   0,0,
  1488.   49,0,
  1489.   49,9,
  1490.   0,9,
  1491.   0,0
  1492. };
  1493. struct Border NumBorder17 = {
  1494.   -1,-1,  /* XY origin relative to container TopLeft */
  1495.   8,0,JAM1,  /* front pen, back pen and drawmode */
  1496.   5,  /* number of XY vectors */
  1497.   NumBorderVectors17,  /* pointer to XY vectors */
  1498.   NULL  /* next border in list */
  1499. };
  1500.  
  1501. struct IntuiText NumIText45 = {
  1502.   9,0,JAM1,  /* front and back text pens, drawmode and fill byte */
  1503.   -20,0,  /* XY origin relative to container TopLeft */
  1504.   &TOPAZ80,  /* font pointer or NULL for default */
  1505.   (UBYTE *)"r1",  /* pointer to text */
  1506.   NULL  /* next IntuiText structure */
  1507. };
  1508.  
  1509. struct Gadget NumR1coeffGadg = {
  1510.   &NumR2coeffGadg,  /* next gadget */
  1511.   26,134,  /* origin XY of hit box relative to window TopLeft */
  1512.   48,8,  /* hit box width and height */
  1513.   NULL,  /* gadget flags */
  1514.   GADGIMMEDIATE+RELVERIFY+STRINGRIGHT,  /* activation flags */
  1515.   STRGADGET,  /* gadget type flags */
  1516.   (APTR)&NumBorder17,  /* gadget border or image to be rendered */
  1517.   NULL,  /* alternate imagery for selection */
  1518.   &NumIText45,  /* first IntuiText structure */
  1519.   NULL,  /* gadget mutual-exclude long word */
  1520.   (APTR)&NumNumR1coeffGadgSInfo,  /* SpecialInfo structure */
  1521.   31,  /* user-definable data */
  1522.   NULL  /* pointer to user-definable data */
  1523. };
  1524.  
  1525. UBYTE NumNumS2coeffGadgSIBuff[12];
  1526. struct StringInfo NumNumS2coeffGadgSInfo = {
  1527.   NumNumS2coeffGadgSIBuff,  /* buffer where text will be edited */
  1528.   NULL,  /* optional undo buffer */
  1529.   0,  /* character position in buffer */
  1530.   12,  /* maximum number of characters to allow */
  1531.   0,  /* first displayed character buffer position */
  1532.   0,0,0,0,0,  /* Intuition initialized and maintained variables */
  1533.   0,  /* Rastport of gadget */
  1534.   0,  /* initial value for integer gadgets */
  1535.   NULL  /* alternate keymap (fill in if you set the flag) */
  1536. };
  1537.  
  1538. SHORT NumBorderVectors18[] = {
  1539.   0,0,
  1540.   49,0,
  1541.   49,9,
  1542.   0,9,
  1543.   0,0
  1544. };
  1545. struct Border NumBorder18 = {
  1546.   -1,-1,  /* XY origin relative to container TopLeft */
  1547.   8,0,JAM1,  /* front pen, back pen and drawmode */
  1548.   5,  /* number of XY vectors */
  1549.   NumBorderVectors18,  /* pointer to XY vectors */
  1550.   NULL  /* next border in list */
  1551. };
  1552.  
  1553. struct IntuiText NumIText46 = {
  1554.   9,0,JAM1,  /* front and back text pens, drawmode and fill byte */
  1555.   -20,0,  /* XY origin relative to container TopLeft */
  1556.   &TOPAZ80,  /* font pointer or NULL for default */
  1557.   (UBYTE *)"s2",  /* pointer to text */
  1558.   NULL  /* next IntuiText structure */
  1559. };
  1560.  
  1561. struct Gadget NumS2coeffGadg = {
  1562.   &NumR1coeffGadg,  /* next gadget */
  1563.   26,123,  /* origin XY of hit box relative to window TopLeft */
  1564.   48,8,  /* hit box width and height */
  1565.   NULL,  /* gadget flags */
  1566.   GADGIMMEDIATE+RELVERIFY+STRINGRIGHT,  /* activation flags */
  1567.   STRGADGET,  /* gadget type flags */
  1568.   (APTR)&NumBorder18,  /* gadget border or image to be rendered */
  1569.   NULL,  /* alternate imagery for selection */
  1570.   &NumIText46,  /* first IntuiText structure */
  1571.   NULL,  /* gadget mutual-exclude long word */
  1572.   (APTR)&NumNumS2coeffGadgSInfo,  /* SpecialInfo structure */
  1573.   30,  /* user-definable data */
  1574.   NULL  /* pointer to user-definable data */
  1575. };
  1576.  
  1577. UBYTE NumNumS1coeffGadgSIBuff[12];
  1578. struct StringInfo NumNumS1coeffGadgSInfo = {
  1579.   NumNumS1coeffGadgSIBuff,  /* buffer where text will be edited */
  1580.   NULL,  /* optional undo buffer */
  1581.   0,  /* character position in buffer */
  1582.   12,  /* maximum number of characters to allow */
  1583.   0,  /* first displayed character buffer position */
  1584.   0,0,0,0,0,  /* Intuition initialized and maintained variables */
  1585.   0,  /* Rastport of gadget */
  1586.   0,  /* initial value for integer gadgets */
  1587.   NULL  /* alternate keymap (fill in if you set the flag) */
  1588. };
  1589.  
  1590. SHORT NumBorderVectors19[] = {
  1591.   0,0,
  1592.   49,0,
  1593.   49,9,
  1594.   0,9,
  1595.   0,0
  1596. };
  1597. struct Border NumBorder19 = {
  1598.   -1,-1,  /* XY origin relative to container TopLeft */
  1599.   8,0,JAM1,  /* front pen, back pen and drawmode */
  1600.   5,  /* number of XY vectors */
  1601.   NumBorderVectors19,  /* pointer to XY vectors */
  1602.   NULL  /* next border in list */
  1603. };
  1604.  
  1605. struct IntuiText NumIText47 = {
  1606.   9,0,JAM1,  /* front and back text pens, drawmode and fill byte */
  1607.   -20,0,  /* XY origin relative to container TopLeft */
  1608.   &TOPAZ80,  /* font pointer or NULL for default */
  1609.   (UBYTE *)"s1",  /* pointer to text */
  1610.   NULL  /* next IntuiText structure */
  1611. };
  1612.  
  1613. struct Gadget NumS1coeffGadg = {
  1614.   &NumS2coeffGadg,  /* next gadget */
  1615.   26,112,  /* origin XY of hit box relative to window TopLeft */
  1616.   48,8,  /* hit box width and height */
  1617.   NULL,  /* gadget flags */
  1618.   GADGIMMEDIATE+RELVERIFY+STRINGRIGHT,  /* activation flags */
  1619.   STRGADGET,  /* gadget type flags */
  1620.   (APTR)&NumBorder19,  /* gadget border or image to be rendered */
  1621.   NULL,  /* alternate imagery for selection */
  1622.   &NumIText47,  /* first IntuiText structure */
  1623.   NULL,  /* gadget mutual-exclude long word */
  1624.   (APTR)&NumNumS1coeffGadgSInfo,  /* SpecialInfo structure */
  1625.   29,  /* user-definable data */
  1626.   NULL  /* pointer to user-definable data */
  1627. };
  1628.  
  1629. UBYTE NumNumPcoeffGadgSIBuff[12];
  1630. struct StringInfo NumNumPcoeffGadgSInfo = {
  1631.   NumNumPcoeffGadgSIBuff,  /* buffer where text will be edited */
  1632.   NULL,  /* optional undo buffer */
  1633.   0,  /* character position in buffer */
  1634.   12,  /* maximum number of characters to allow */
  1635.   0,  /* first displayed character buffer position */
  1636.   0,0,0,0,0,  /* Intuition initialized and maintained variables */
  1637.   0,  /* Rastport of gadget */
  1638.   0,  /* initial value for integer gadgets */
  1639.   NULL  /* alternate keymap (fill in if you set the flag) */
  1640. };
  1641.  
  1642. SHORT NumBorderVectors20[] = {
  1643.   0,0,
  1644.   49,0,
  1645.   49,9,
  1646.   0,9,
  1647.   0,0
  1648. };
  1649. struct Border NumBorder20 = {
  1650.   -1,-1,  /* XY origin relative to container TopLeft */
  1651.   8,0,JAM1,  /* front pen, back pen and drawmode */
  1652.   5,  /* number of XY vectors */
  1653.   NumBorderVectors20,  /* pointer to XY vectors */
  1654.   NULL  /* next border in list */
  1655. };
  1656.  
  1657. struct IntuiText NumIText48 = {
  1658.   9,0,JAM1,  /* front and back text pens, drawmode and fill byte */
  1659.   -16,0,  /* XY origin relative to container TopLeft */
  1660.   &TOPAZ80,  /* font pointer or NULL for default */
  1661.   (UBYTE *)"P",  /* pointer to text */
  1662.   NULL  /* next IntuiText structure */
  1663. };
  1664.  
  1665. struct Gadget NumPcoeffGadg = {
  1666.   &NumS1coeffGadg,  /* next gadget */
  1667.   26,95,  /* origin XY of hit box relative to window TopLeft */
  1668.   48,8,  /* hit box width and height */
  1669.   NULL,  /* gadget flags */
  1670.   GADGIMMEDIATE+RELVERIFY+STRINGRIGHT,  /* activation flags */
  1671.   STRGADGET,  /* gadget type flags */
  1672.   (APTR)&NumBorder20,  /* gadget border or image to be rendered */
  1673.   NULL,  /* alternate imagery for selection */
  1674.   &NumIText48,  /* first IntuiText structure */
  1675.   NULL,  /* gadget mutual-exclude long word */
  1676.   (APTR)&NumNumPcoeffGadgSInfo,  /* SpecialInfo structure */
  1677.   28,  /* user-definable data */
  1678.   NULL  /* pointer to user-definable data */
  1679. };
  1680.  
  1681. UBYTE NumNumDenscoeffGadgSIBuff[10];
  1682. struct StringInfo NumNumDenscoeffGadgSInfo = {
  1683.   NumNumDenscoeffGadgSIBuff,  /* buffer where text will be edited */
  1684.   NULL,  /* optional undo buffer */
  1685.   0,  /* character position in buffer */
  1686.   10,  /* maximum number of characters to allow */
  1687.   0,  /* first displayed character buffer position */
  1688.   0,0,0,0,0,  /* Intuition initialized and maintained variables */
  1689.   0,  /* Rastport of gadget */
  1690.   0,  /* initial value for integer gadgets */
  1691.   NULL  /* alternate keymap (fill in if you set the flag) */
  1692. };
  1693.  
  1694. SHORT NumBorderVectors21[] = {
  1695.   0,0,
  1696.   41,0,
  1697.   41,9,
  1698.   0,9,
  1699.   0,0
  1700. };
  1701. struct Border NumBorder21 = {
  1702.   -1,-1,  /* XY origin relative to container TopLeft */
  1703.   8,0,JAM1,  /* front pen, back pen and drawmode */
  1704.   5,  /* number of XY vectors */
  1705.   NumBorderVectors21,  /* pointer to XY vectors */
  1706.   NULL  /* next border in list */
  1707. };
  1708.  
  1709. struct IntuiText NumIText49 = {
  1710.   9,0,JAM1,  /* front and back text pens, drawmode and fill byte */
  1711.   -29,0,  /* XY origin relative to container TopLeft */
  1712.   &TOPAZ80,  /* font pointer or NULL for default */
  1713.   (UBYTE *)"Den",  /* pointer to text */
  1714.   NULL  /* next IntuiText structure */
  1715. };
  1716.  
  1717. struct Gadget NumDenscoeffGadg = {
  1718.   &NumPcoeffGadg,  /* next gadget */
  1719.   34,84,  /* origin XY of hit box relative to window TopLeft */
  1720.   40,8,  /* hit box width and height */
  1721.   NULL,  /* gadget flags */
  1722.   GADGIMMEDIATE+RELVERIFY+STRINGRIGHT,  /* activation flags */
  1723.   STRGADGET,  /* gadget type flags */
  1724.   (APTR)&NumBorder21,  /* gadget border or image to be rendered */
  1725.   NULL,  /* alternate imagery for selection */
  1726.   &NumIText49,  /* first IntuiText structure */
  1727.   NULL,  /* gadget mutual-exclude long word */
  1728.   (APTR)&NumNumDenscoeffGadgSInfo,  /* SpecialInfo structure */
  1729.   27,  /* user-definable data */
  1730.   NULL  /* pointer to user-definable data */
  1731. };
  1732.  
  1733. UBYTE NumNumFcoeffGadgSIBuff[12];
  1734. struct StringInfo NumNumFcoeffGadgSInfo = {
  1735.   NumNumFcoeffGadgSIBuff,  /* buffer where text will be edited */
  1736.   NULL,  /* optional undo buffer */
  1737.   0,  /* character position in buffer */
  1738.   12,  /* maximum number of characters to allow */
  1739.   0,  /* first displayed character buffer position */
  1740.   0,0,0,0,0,  /* Intuition initialized and maintained variables */
  1741.   0,  /* Rastport of gadget */
  1742.   0,  /* initial value for integer gadgets */
  1743.   NULL  /* alternate keymap (fill in if you set the flag) */
  1744. };
  1745.  
  1746. SHORT NumBorderVectors22[] = {
  1747.   0,0,
  1748.   49,0,
  1749.   49,9,
  1750.   0,9,
  1751.   0,0
  1752. };
  1753. struct Border NumBorder22 = {
  1754.   -1,-1,  /* XY origin relative to container TopLeft */
  1755.   8,0,JAM1,  /* front pen, back pen and drawmode */
  1756.   5,  /* number of XY vectors */
  1757.   NumBorderVectors22,  /* pointer to XY vectors */
  1758.   NULL  /* next border in list */
  1759. };
  1760.  
  1761. struct IntuiText NumIText50 = {
  1762.   9,0,JAM1,  /* front and back text pens, drawmode and fill byte */
  1763.   -16,0,  /* XY origin relative to container TopLeft */
  1764.   &TOPAZ80,  /* font pointer or NULL for default */
  1765.   (UBYTE *)"F",  /* pointer to text */
  1766.   NULL  /* next IntuiText structure */
  1767. };
  1768.  
  1769. struct Gadget NumFcoeffGadg = {
  1770.   &NumDenscoeffGadg,  /* next gadget */
  1771.   26,68,  /* origin XY of hit box relative to window TopLeft */
  1772.   48,8,  /* hit box width and height */
  1773.   NULL,  /* gadget flags */
  1774.   GADGIMMEDIATE+RELVERIFY+STRINGRIGHT,  /* activation flags */
  1775.   STRGADGET,  /* gadget type flags */
  1776.   (APTR)&NumBorder22,  /* gadget border or image to be rendered */
  1777.   NULL,  /* alternate imagery for selection */
  1778.   &NumIText50,  /* first IntuiText structure */
  1779.   NULL,  /* gadget mutual-exclude long word */
  1780.   (APTR)&NumNumFcoeffGadgSInfo,  /* SpecialInfo structure */
  1781.   26,  /* user-definable data */
  1782.   NULL  /* pointer to user-definable data */
  1783. };
  1784.  
  1785. UBYTE NumNumEcoeffGadgSIBuff[12];
  1786. struct StringInfo NumNumEcoeffGadgSInfo = {
  1787.   NumNumEcoeffGadgSIBuff,  /* buffer where text will be edited */
  1788.   NULL,  /* optional undo buffer */
  1789.   0,  /* character position in buffer */
  1790.   12,  /* maximum number of characters to allow */
  1791.   0,  /* first displayed character buffer position */
  1792.   0,0,0,0,0,  /* Intuition initialized and maintained variables */
  1793.   0,  /* Rastport of gadget */
  1794.   0,  /* initial value for integer gadgets */
  1795.   NULL  /* alternate keymap (fill in if you set the flag) */
  1796. };
  1797.  
  1798. SHORT NumBorderVectors23[] = {
  1799.   0,0,
  1800.   49,0,
  1801.   49,9,
  1802.   0,9,
  1803.   0,0
  1804. };
  1805. struct Border NumBorder23 = {
  1806.   -1,-1,  /* XY origin relative to container TopLeft */
  1807.   8,0,JAM1,  /* front pen, back pen and drawmode */
  1808.   5,  /* number of XY vectors */
  1809.   NumBorderVectors23,  /* pointer to XY vectors */
  1810.   NULL  /* next border in list */
  1811. };
  1812.  
  1813. struct IntuiText NumIText51 = {
  1814.   9,0,JAM1,  /* front and back text pens, drawmode and fill byte */
  1815.   -16,0,  /* XY origin relative to container TopLeft */
  1816.   &TOPAZ80,  /* font pointer or NULL for default */
  1817.   (UBYTE *)"E",  /* pointer to text */
  1818.   NULL  /* next IntuiText structure */
  1819. };
  1820.  
  1821. struct Gadget NumEcoeffGadg = {
  1822.   &NumFcoeffGadg,  /* next gadget */
  1823.   26,57,  /* origin XY of hit box relative to window TopLeft */
  1824.   48,8,  /* hit box width and height */
  1825.   NULL,  /* gadget flags */
  1826.   GADGIMMEDIATE+RELVERIFY+STRINGRIGHT,  /* activation flags */
  1827.   STRGADGET,  /* gadget type flags */
  1828.   (APTR)&NumBorder23,  /* gadget border or image to be rendered */
  1829.   NULL,  /* alternate imagery for selection */
  1830.   &NumIText51,  /* first IntuiText structure */
  1831.   NULL,  /* gadget mutual-exclude long word */
  1832.   (APTR)&NumNumEcoeffGadgSInfo,  /* SpecialInfo structure */
  1833.   25,  /* user-definable data */
  1834.   NULL  /* pointer to user-definable data */
  1835. };
  1836.  
  1837. UBYTE NumNumDcoeffGadgSIBuff[12];
  1838. struct StringInfo NumNumDcoeffGadgSInfo = {
  1839.   NumNumDcoeffGadgSIBuff,  /* buffer where text will be edited */
  1840.   NULL,  /* optional undo buffer */
  1841.   0,  /* character position in buffer */
  1842.   12,  /* maximum number of characters to allow */
  1843.   0,  /* first displayed character buffer position */
  1844.   0,0,0,0,0,  /* Intuition initialized and maintained variables */
  1845.   0,  /* Rastport of gadget */
  1846.   0,  /* initial value for integer gadgets */
  1847.   NULL  /* alternate keymap (fill in if you set the flag) */
  1848. };
  1849.  
  1850. SHORT NumBorderVectors24[] = {
  1851.   0,0,
  1852.   49,0,
  1853.   49,9,
  1854.   0,9,
  1855.   0,0
  1856. };
  1857. struct Border NumBorder24 = {
  1858.   -1,-1,  /* XY origin relative to container TopLeft */
  1859.   8,0,JAM1,  /* front pen, back pen and drawmode */
  1860.   5,  /* number of XY vectors */
  1861.   NumBorderVectors24,  /* pointer to XY vectors */
  1862.   NULL  /* next border in list */
  1863. };
  1864.  
  1865. struct IntuiText NumIText52 = {
  1866.   9,0,JAM1,  /* front and back text pens, drawmode and fill byte */
  1867.   -16,0,  /* XY origin relative to container TopLeft */
  1868.   &TOPAZ80,  /* font pointer or NULL for default */
  1869.   (UBYTE *)"D",  /* pointer to text */
  1870.   NULL  /* next IntuiText structure */
  1871. };
  1872.  
  1873. struct Gadget NumDcoeffGadg = {
  1874.   &NumEcoeffGadg,  /* next gadget */
  1875.   26,46,  /* origin XY of hit box relative to window TopLeft */
  1876.   48,8,  /* hit box width and height */
  1877.   NULL,  /* gadget flags */
  1878.   GADGIMMEDIATE+RELVERIFY+STRINGRIGHT,  /* activation flags */
  1879.   STRGADGET,  /* gadget type flags */
  1880.   (APTR)&NumBorder24,  /* gadget border or image to be rendered */
  1881.   NULL,  /* alternate imagery for selection */
  1882.   &NumIText52,  /* first IntuiText structure */
  1883.   NULL,  /* gadget mutual-exclude long word */
  1884.   (APTR)&NumNumDcoeffGadgSInfo,  /* SpecialInfo structure */
  1885.   24,  /* user-definable data */
  1886.   NULL  /* pointer to user-definable data */
  1887. };
  1888.  
  1889. UBYTE NumNumCcoeffGadgSIBuff[12];
  1890. struct StringInfo NumNumCcoeffGadgSInfo = {
  1891.   NumNumCcoeffGadgSIBuff,  /* buffer where text will be edited */
  1892.   NULL,  /* optional undo buffer */
  1893.   0,  /* character position in buffer */
  1894.   12,  /* maximum number of characters to allow */
  1895.   0,  /* first displayed character buffer position */
  1896.   0,0,0,0,0,  /* Intuition initialized and maintained variables */
  1897.   0,  /* Rastport of gadget */
  1898.   0,  /* initial value for integer gadgets */
  1899.   NULL  /* alternate keymap (fill in if you set the flag) */
  1900. };
  1901.  
  1902. SHORT NumBorderVectors25[] = {
  1903.   0,0,
  1904.   49,0,
  1905.   49,9,
  1906.   0,9,
  1907.   0,0
  1908. };
  1909. struct Border NumBorder25 = {
  1910.   -1,-1,  /* XY origin relative to container TopLeft */
  1911.   8,0,JAM1,  /* front pen, back pen and drawmode */
  1912.   5,  /* number of XY vectors */
  1913.   NumBorderVectors25,  /* pointer to XY vectors */
  1914.   NULL  /* next border in list */
  1915. };
  1916.  
  1917. struct IntuiText NumIText53 = {
  1918.   9,0,JAM1,  /* front and back text pens, drawmode and fill byte */
  1919.   -16,0,  /* XY origin relative to container TopLeft */
  1920.   &TOPAZ80,  /* font pointer or NULL for default */
  1921.   (UBYTE *)"C",  /* pointer to text */
  1922.   NULL  /* next IntuiText structure */
  1923. };
  1924.  
  1925. struct Gadget NumCcoeffGadg = {
  1926.   &NumDcoeffGadg,  /* next gadget */
  1927.   26,35,  /* origin XY of hit box relative to window TopLeft */
  1928.   48,8,  /* hit box width and height */
  1929.   NULL,  /* gadget flags */
  1930.   GADGIMMEDIATE+RELVERIFY+STRINGRIGHT,  /* activation flags */
  1931.   STRGADGET,  /* gadget type flags */
  1932.   (APTR)&NumBorder25,  /* gadget border or image to be rendered */
  1933.   NULL,  /* alternate imagery for selection */
  1934.   &NumIText53,  /* first IntuiText structure */
  1935.   NULL,  /* gadget mutual-exclude long word */
  1936.   (APTR)&NumNumCcoeffGadgSInfo,  /* SpecialInfo structure */
  1937.   23,  /* user-definable data */
  1938.   NULL  /* pointer to user-definable data */
  1939. };
  1940.  
  1941. UBYTE NumNumBcoeffGadgSIBuff[12];
  1942. struct StringInfo NumNumBcoeffGadgSInfo = {
  1943.   NumNumBcoeffGadgSIBuff,  /* buffer where text will be edited */
  1944.   NULL,  /* optional undo buffer */
  1945.   0,  /* character position in buffer */
  1946.   12,  /* maximum number of characters to allow */
  1947.   0,  /* first displayed character buffer position */
  1948.   0,0,0,0,0,  /* Intuition initialized and maintained variables */
  1949.   0,  /* Rastport of gadget */
  1950.   0,  /* initial value for integer gadgets */
  1951.   NULL  /* alternate keymap (fill in if you set the flag) */
  1952. };
  1953.  
  1954. SHORT NumBorderVectors26[] = {
  1955.   0,0,
  1956.   49,0,
  1957.   49,9,
  1958.   0,9,
  1959.   0,0
  1960. };
  1961. struct Border NumBorder26 = {
  1962.   -1,-1,  /* XY origin relative to container TopLeft */
  1963.   8,0,JAM1,  /* front pen, back pen and drawmode */
  1964.   5,  /* number of XY vectors */
  1965.   NumBorderVectors26,  /* pointer to XY vectors */
  1966.   NULL  /* next border in list */
  1967. };
  1968.  
  1969. struct IntuiText NumIText54 = {
  1970.   9,0,JAM1,  /* front and back text pens, drawmode and fill byte */
  1971.   -16,0,  /* XY origin relative to container TopLeft */
  1972.   &TOPAZ80,  /* font pointer or NULL for default */
  1973.   (UBYTE *)"B",  /* pointer to text */
  1974.   NULL  /* next IntuiText structure */
  1975. };
  1976.  
  1977. struct Gadget NumBcoeffGadg = {
  1978.   &NumCcoeffGadg,  /* next gadget */
  1979.   26,24,  /* origin XY of hit box relative to window TopLeft */
  1980.   48,8,  /* hit box width and height */
  1981.   NULL,  /* gadget flags */
  1982.   GADGIMMEDIATE+RELVERIFY+STRINGRIGHT,  /* activation flags */
  1983.   STRGADGET,  /* gadget type flags */
  1984.   (APTR)&NumBorder26,  /* gadget border or image to be rendered */
  1985.   NULL,  /* alternate imagery for selection */
  1986.   &NumIText54,  /* first IntuiText structure */
  1987.   NULL,  /* gadget mutual-exclude long word */
  1988.   (APTR)&NumNumBcoeffGadgSInfo,  /* SpecialInfo structure */
  1989.   22,  /* user-definable data */
  1990.   NULL  /* pointer to user-definable data */
  1991. };
  1992.  
  1993. UBYTE NumNumAcoeffGadgSIBuff[12];
  1994. struct StringInfo NumNumAcoeffGadgSInfo = {
  1995.   NumNumAcoeffGadgSIBuff,  /* buffer where text will be edited */
  1996.   NULL,  /* optional undo buffer */
  1997.   0,  /* character position in buffer */
  1998.   12,  /* maximum number of characters to allow */
  1999.   0,  /* first displayed character buffer position */
  2000.   0,0,0,0,0,  /* Intuition initialized and maintained variables */
  2001.   0,  /* Rastport of gadget */
  2002.   0,  /* initial value for integer gadgets */
  2003.   NULL  /* alternate keymap (fill in if you set the flag) */
  2004. };
  2005.  
  2006. SHORT NumBorderVectors27[] = {
  2007.   0,0,
  2008.   49,0,
  2009.   49,9,
  2010.   0,9,
  2011.   0,0
  2012. };
  2013. struct Border NumBorder27 = {
  2014.   -1,-1,  /* XY origin relative to container TopLeft */
  2015.   8,0,JAM1,  /* front pen, back pen and drawmode */
  2016.   5,  /* number of XY vectors */
  2017.   NumBorderVectors27,  /* pointer to XY vectors */
  2018.   NULL  /* next border in list */
  2019. };
  2020.  
  2021. struct IntuiText NumIText55 = {
  2022.   9,0,JAM1,  /* front and back text pens, drawmode and fill byte */
  2023.   -16,0,  /* XY origin relative to container TopLeft */
  2024.   &TOPAZ80,  /* font pointer or NULL for default */
  2025.   (UBYTE *)"A",  /* pointer to text */
  2026.   NULL  /* next IntuiText structure */
  2027. };
  2028.  
  2029. struct Gadget NumAcoeffGadg = {
  2030.   &NumBcoeffGadg,  /* next gadget */
  2031.   26,13,  /* origin XY of hit box relative to window TopLeft */
  2032.   48,8,  /* hit box width and height */
  2033.   NULL,  /* gadget flags */
  2034.   GADGIMMEDIATE+RELVERIFY+STRINGRIGHT,  /* activation flags */
  2035.   STRGADGET,  /* gadget type flags */
  2036.   (APTR)&NumBorder27,  /* gadget border or image to be rendered */
  2037.   NULL,  /* alternate imagery for selection */
  2038.   &NumIText55,  /* first IntuiText structure */
  2039.   NULL,  /* gadget mutual-exclude long word */
  2040.   (APTR)&NumNumAcoeffGadgSInfo,  /* SpecialInfo structure */
  2041.   21,  /* user-definable data */
  2042.   NULL  /* pointer to user-definable data */
  2043. };
  2044.  
  2045. #define NumGadgetList3 NumAcoeffGadg
  2046.  
  2047. struct NewWindow NumNewWindowStructure3 = {
  2048.   0,0,  /* window XY origin relative to TopLeft of screen */
  2049.   80,200,  /* window width and height */
  2050.   3,1,  /* detail and block pens */
  2051.   GADGETUP+GADGETDOWN+CLOSEWINDOW,  /* IDCMP flags */
  2052.   WINDOWDRAG+WINDOWCLOSE+ACTIVATE,  /* other window flags */
  2053.   &NumAcoeffGadg,  /* first gadget in gadget list */
  2054.   NULL,  /* custom CHECKMARK imagery */
  2055.   (UBYTE *)"",  /* window title */
  2056.   NULL,  /* custom screen pointer */
  2057.   NULL,  /* custom bitmap */
  2058.   5,5,  /* minimum width and height */
  2059.   -1,-1,  /* maximum width and height */
  2060.   CUSTOMSCREEN  /* destination screen type */
  2061. };
  2062.